2

データが変更され、次のコードを使用して、データベースから新しい値を取得すると、20 秒ごとに TD の 1 つが更新される tablesorter テーブルがあります。

window.setInterval(function(){
    $("td.odds span").each(function(){
        var id=$(this).parent().attr("rel");
        $(this).load("/td.php?id="+id);
    });
},20000);

私が知りたいのは、値が変更された場合に備えて、この後にテーブルを再ソートできるかどうかです (変更された場合、テーブルが実際に間違った順序になっている可能性があるため)。

次のコードを追加しようとしましたが、成功しませんでした:

var sorting=[[11,0]]; 
$("table.formguide").trigger("sorton",[sorting]);

と:

$("table.formguide").trigger("update");

しかし、成功しません。どんな助けでも感謝します。

4

2 に答える 2

1

メソッドを使用してupdateCell、変更されたセルを具体的にターゲットにしてから、sortonメソッドを適用してその列を並べ替えることができます。

var cell = $('table.formguide td.odds span').each(function(){
    $('table.formguide').trigger('updateCell', [ this ]);
});
$('table.formguide').trigger('sorton', [ [[11,0]] ]);

または、現在の並べ替えを使用して自動的に再ソートするフラグを含むようにメソッドを変更したtablesorter の私のフォークをチェックすることもできますupdateCell

var last,
    // resort is true by default, but we set it to false until all cells have updated
    resort = true,
    // callback function run on the last updated cell
    callback = function(){ /* do something after each updateCell */ },
    // updated cells
    $cells = $('table.formguide td.odds span'),
    len = $cells.length

$cells.each(function(i){
    last = i === len;
    // don't resort or trigger a callback until we're on the last cell
    $('table.formguide').trigger('updateCell', [ this, last ? resort : false, last ? callback : null ]);
});
于 2013-10-18T13:37:04.333 に答える