我使用这个函数来选择列表中的元素:
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') ,但是在用户输入一些文本后没有给我正确数量的元素。
类似于 alert($(list).children().filter(':visible').length); 但我总是得到显示的元素的初始数量。