1

jquerypicnetテーブルフィルターを使用しています-http ://www.picnet.com.au/picnet-table-filter.html

現在表示されている行数を表示する必要があるため、各フィルタリングイベントに対応する必要があります。

コールバックとして機能する必要がある2つのオプションがあります-filteringRowsとfilteredRows。

しかし、両方を試しましたが、うまくいきませんでした。コールバック関数がトリガーされるのはたまにしかありません。最後に、私は実用的な解決策を持っています-

$('#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 )}});

オプションfilteringRowsでも同じです。それらのどれも機能せず、行数は更新されません。console.log()を試しましたが、行をフィルタリングしてもトリガーされないようです。また、これらのオプションを設定すると、奇妙な動作が発生します。ページをリロードしても、フィルタリングが設定されていないのに、 3回目のリロードまで何も表示されません。

何を試してみるべきかについて何か提案はありますか?

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 に答える