0

tablesorter プラグインにデータをロードする次のコードがあります。ここでは、pgl のレコード数を表示していますが、50 をクリックして 25 に戻ると、合計数が正しく表示されません。

なぜこれが起こっているのですか?

<div class="rowsPerPage">
 <a href="javascript:void(0);" onclick="test1(25);">25</a>
 <a href="javascript:void(0);" onclick="test1(50);">50</a>
 <a href="javascript:void(0);" onclick="test1(toalnoofrecords);">All</a>
</div>
 <div id="pg">
  <div id="pgl"></div>
  <div id="pgR"></div>
 </div>      


<table id="testtable">
   datas comes here
</table>

<!---- javascript function -->
 function test1(val)
 { 
    $(jQuery('#testtable').tablesorterPager({container: $("#pgR"), positionFixed: false,size: value }));

  }
4

1 に答える 1

1

元の tablesorter プラグイン (v2.0.5) を使用している場合は、次のコード ( demo )を使用します。

jQuery(function($){
    $('#testtable')
    .tablesorter()
    .tablesorterPager({
        container: $("#pgR"),
        positionFixed: false,
        size: 10
    });
});

function test(val){
    $t = jQuery('#testtable');
    $t[0].config.size = val;
    $t.trigger('appendCache');
}
  • 注: 元の tablesorter は jQuery 1.9 以降では動作しないことに注意してください$.browser.msie

分岐したバージョンの tablesorterを使用している場合は、次のコード ( demo )を使用します。

HTML

<div class="rowsPerPage">
  <a href="#">10</a>
  <a href="#">20</a>
  <a href="#">All</a>
</div>
<div id="pg">
  <div id="pgl"></div>
  <div id="pgR"></div>
</div>

Javascript

jQuery(function($){
    $('#testtable')
    .tablesorter({
        theme: 'blue'
    })
    .tablesorterPager({
        container: $("#pgR"),
        size: 10
    });

    $('.rowsPerPage a').click(function(){
        var val = $(this).text();
        if (/all/i.test(val)) {
            val = 99999; // pick some huge number
        }
        $('#testtable').trigger('pageSize', val);
        return false;
    });

});
  • 注: このコードは邪魔にならない javascriptを使用しているため、インライン JavaScript を追加しなくてもページ サイズを簡単に追加できます。
于 2013-03-02T16:11:41.983 に答える