我正在尝试计算列表中的选项数量。但是,由于在输入框中输入了搜索文本,某些选项已被隐藏。
我开始研究 .size() 和 .length 但只获得完整列表而不是那些没有隐藏的列表。为了简化,我对其进行了更改以尝试找到隐藏的选项(我可以使用 :not later)。
$('#txtListSearch').keyup(function(evt) {
if($(this).val().length < 1) {
$('#selContactLists option').show();
} else {
$('#selContactLists option:not(:contains("' + $(this).val() + '"))').hide();
if($('#selContactLists').size()) {
$('#selContactLists option:contains("' + $(this).val() + '")').first().attr('selected', 'selected');
} else {
}
}
console.log($('#selContactLists option').filter(':hidden'));
});
我也试过:console.log($('#selContactLists option:hidden')); 我从来没有完全得到我期望的数字。谁能看到我哪里出错了?
更奇怪的是,如果我更改选择的“大小”以便默认显示多个项目,则在 chrome 上它永远不会隐藏任何选项。