我使用此函数选择列表中的元素:
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();
});
}
这样可以正常工作但现在我想触发在下面的数据中搜索函数,如果选择范围缩小到列表中剩下的一个元素。
我一直在列表对象和list.children上尝试.filter(':visible'),但在用户输入一些文本后,没有任何东西能给我正确的元素数。
类似警报($(list).children()。filter(':visible')。length);但我总是得到显示的元素的初始数量。