1

我使用 jquery picnet 表过滤器 - http://www.picnet.com.au/picnet-table-filter.html

我需要显示当前可见的行数,所以我需要对每个过滤事件做出反应。

有两个选项应该用作回调 - 过滤行和过滤行。

但是,我尝试了这两种方法,但都没有成功。我只是偶尔触发了回调函数。最后我有一个可行的解决方案 -

$('#myTable .filters').change(function(){ setTimeout( 'load_num_rows()', 500 ) })
                               .keyup(function(){ setTimeout( 'load_num_rows()', 500 ) });

困扰我的是,这个解决方案显然不是回调。这是等待 500 毫秒过滤完成,但如果会有很多行并且过滤需要超过 500 毫秒,那么我不会得到正确的结果。

我尝试的是

$('#tb_list_reports').tableFilter({filteredRows: function(){ 'load_num_rows()' }});

$('#tb_list_reports').tableFilter({filteredRows: function(){setTimeout( 'load_num_rows()', 500 )}});

与选项过滤行相同。它们都不起作用,行数没有更新。我已经尝试过 console.log() ,当我过滤行时它​​们似乎甚至没有被触发,而且当我设置了这些选项时,我得到了一些奇怪的行为 - 有时我重新加载页面,没有过滤设置但我在第三次重新加载之前不会显示任何内容。

你对我应该尝试什么有什么建议吗?

4

2 回答 2

1

这对我有用:

filteredRows: function(filterStates) {
    running_total = $("#assets tbody tr").filter(":visible").length;
    $("#total_rows_returned").html(running_total);
}
于 2012-06-25T21:54:31.533 回答
0

这可能是您正在寻找的回调:$('#myTable').tableFilterRefresh();

于 2012-08-13T18:24:45.383 回答