0

テーブルデータを更新するためにajaxメソッドを使用して、現在正常に動作するテーブルソーターテーブルがあります。tablesorter Pager プラグインを追加しました。

$(.tablesorter').trigger("update");

テーブルの更新中の関数は、前の行/ページ数をまだ表示しているページャーを更新していません。

私は使っている:

    //init tablesorter
    $('#tblCustomers').tablesorter({
            headers: { 0: { sorter: false}},
            sortList: [[5,1]]               
    }).tablesorterPager({container: $("#pager")});
    //search listener
    $('input.search').change(function() {
                 $.post('search.php', { 'keyword' : $(this).val() }, function(data) {
                        $('#tblCustomers tbody').html(data);
                        $('#tblCustomers').trigger('update');
                 }
    });

アドバイスお願いします...

4

3 に答える 3

0
  1. データベース テーブルを更新した後、コンテナーを更新していることを確認してください。
  2. キャッシュに注意してください。ページのキャッシュを確実に防止するために、search.php (例: search.php?cachebuster=arandomnumberhere) を使用してランダムなクエリ文字列を追加します。

キャッシュを制御する方法は複数あります。htaccess、前述の乱数などを介して、サーバー上に設定できます。

于 2011-05-23T08:20:40.540 に答える
0
function tableUpdated() {
    $('#tblCustomers').tablesorter({
        headers: { 0: { sorter: false}},
        sortList: [[5,1]]               
    }).tablesorterPager({container: $("#pager"), positionFixed: false});
}   

$(document).ready(function() {
   $('input.search').change(function() {
      $.post('search.php', { 'data': data } , function(data) {
        tableUpdated();
      });
   });  

解決策は、テーブルの初期化を別の関数に移動し、それを $.post の成功部分内で呼び出すことです。

Googleの結果を何時間も読んだ後、これが私の場合に機能した唯一のものです.

于 2011-05-24T00:45:52.543 に答える