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 分叉版本,则使用此代码(演示):

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 回答