我的桌子上有一个搜索栏,并按以下方式对其进行过滤:
$(document).ready(function(){
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
value = '(' + value + ')'
if (value == '()'){
value = ""
}
$("#table1 tr").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
$('#counts').html(String(counter) + " results found")
});
});
我想要最后一行的计数器返回已过滤结果的数量。
此外,删除括号并设置value =“”非常慢。有没有办法来解决这个问题? (我添加了这些行是因为当您对搜索词进行退格时,由于“()”不会出现在任何地方,因此没有结果
答案 0 :(得分:3)
如果搜索值为()
,则可以使用$("#table1 tr").show();
使所有行可见。
在切换可见性时,使用$("#table1 tr").each
遍历所有行。
处理了行的可见性更改后,您可以使用$("#table1 tr:visible").length
获取可见行的计数。
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
value = '(' + value + ')';
if (value === '()') {
$("#table1 tr").show();
} else {
$("#table1 tr").each(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
}
$('#counts').html($("#table1 tr:visible").length + " results found")
});