我使用jquery picnet表过滤器 - http://www.picnet.com.au/picnet-table-filter.html
我需要显示当前可见的行数,因此我需要对每个过滤事件做出反应。
有两个选项可用作回调 - filteringRows和filteredRows。
然而,我尝试了它们两个并没有成功。我有时只触发了回调函数。最后,我有一个有效的解决方案 -
$('#myTable .filters').change(function(){ setTimeout( 'load_num_rows()', 500 ) })
.keyup(function(){ setTimeout( 'load_num_rows()', 500 ) });
困扰我的是这个解决方案显然不是回调。这是等待500ms的过滤完成,但如果有很多行,过滤将花费超过500毫秒,那么我不会得到正确的结果。
我尝试的是
$('#tb_list_reports').tableFilter({filteredRows: function(){ 'load_num_rows()' }});
和
$('#tb_list_reports').tableFilter({filteredRows: function(){setTimeout( 'load_num_rows()', 500 )}});
和选项filteringRows相同。它们都不起作用,行数未更新。我已经尝试过console.log(),当我过滤行时,它们似乎都没有被触发,而且当我设置这些选项时,我得到一些奇怪的行为 - 有时我重新加载页面,没有过滤设置但我在第三次重装之前不要显示任何内容。
您对我应该尝试什么有任何建议吗?
答案 0 :(得分:1)
这对我有用:
filteredRows: function(filterStates) {
running_total = $("#assets tbody tr").filter(":visible").length;
$("#total_rows_returned").html(running_total);
}
答案 1 :(得分:0)
这可能是您正在寻找的回调:$('#myTable').tableFilterRefresh();