1

jQuery を使用してリストビューとフィルターを作成しています。ユーザーがアイテムをクリックすると、クリックしたアイテムにテキストを設定し、リストを非表示にするフィルターが必要です。しかし、永続的ではありません!ユーザーがフィルター テキストを変更した場合は、リストを元に戻す必要があります。

ここに私が持っているものがあります:

    $(document).ready(function () {

        jQuery.support.cors = true;
        $("#groupSelectList").listview({
            filter: true,
            filterPlaceholder: '',
            icon: false
        });

        $('#groupSelectList').children('li').on('click', function () {
            $('#groupName').val($(this).text());
            $("input[data-type='search']").val($(this).text())
            //$("#groupSelectList").listview("refresh");//this refresh doesn't appear to do anything.
            $("#groupSelectList").listview().hide()//hide works, but the list won't come back if the user changes the input text.
        });
    });

...

このページのウィジェットは、私が使用しているコントロールの例です: http://view.jquerymobile.com/master/demos/

4

2 に答える 2

1

考えられる、より単純な解決策は次のとおりです。

$( document ).on( "pageinit", "#myPage", function() {
    $('#groupName').val($(this).text());
        $("input[data-type='search']").val($(this).text());;
    $('#groupSelectList li').each(function (index) {
        $(this).addClass("ui-screen-hidden");
    });
});
于 2013-11-06T10:38:14.587 に答える