我有一个过滤器,它对一个充满来自Mongo的数据的表进行操作。过滤器本身没有以任何方式连接到Mongo,它基本上只是根据匹配的文本对当前视图中显示的内容进行排序。我还从数据库返回的结果计数与上一页中的先前搜索条件匹配。我现在希望能够在过滤结果时重新计算结果。这是我到目前为止的JavaScript ......
$(document).ready(function(){
(function($) {
$('#filter').keyup(function() {
var rex = new RegExp($(this).val(), 'i');
$('tbody.searchable').hide();
$('tbody.searchable').filter(function() {
return rex.test($(this).text());
}).show();
var x = $('tbody').length; //'tbody' needs to be changed to the current body display after being filtered
document.getElementById("demo").innerHTML = x;
})
$('tbody').on("click", function() {
if($(this).data('href') !== undefined){
document.location = $(this).data('href');
}
});
}(jQuery));
});
截至目前,过滤器将返回tr的总量。但是,我想将其更改为仅显示正在显示的内容。是不是可以用JS和jQuery来做到这一点?
答案 0 :(得分:1)
更改
var x = $('tbody').length;
到
var x = $('tbody.searchable:visible').length;
仅计算可见的表体。