この関数を使用して、リスト内の要素を選択します。
function listFilter(list, input) {
$(input)
.change( function () {
var filter = $(this).val();
if(filter) {
$(list).find('a:not(:Contains(' + filter + '))').parent().slideUp();
$(list).find('a:Contains(' + filter + ')').parent().slideDown();
} else {
$(list).find('li').slideDown();
}
return false;
})
.keyup( function () {
// fire the above change event after every letter
$(this).change();
});
}
これは正常に機能しますが、選択がリストに残っている1つの要素に絞り込まれた場合、下のデータで検索機能をトリガーしたいと思います。
list オブジェクトと list.children で .filter(':visible') を試してみましたが、ユーザーがテキストを入力した後に残った要素の正しい数がわかりません。
alert($(list).children().filter(':visible').length); のようなもの しかし、表示される要素の初期数を常に取得します。