1

我正在使用这个 tablesorter 版本:http ://tablesorter.com/docs/

有这个相关的html:

 <select class="pagesize form-control text-center">
        <option value="20">20</option>
        <option value="30">30</option>
        <option value="40">40</option>
        <option value="all" selected="selected">alle</option>
 </select>

这个js:

function tableSorter()
{  
  $("#tableOverview")
    .tablesorter()
    .tablesorterPager({container: $("#pager")});

  var rows = $('table.tablesorter')[0].config.totalRows;
  $('select.pagesize').find('option:contains("all")').val(rows);
}

现在我想在加载时将表格的所有项目显示为默认值/。如果它不是默认值并且您必须在加载页面后选择它,它可以正常工作:

var rows = $('table.tablesorter')[0].config.totalRows;
$('select.pagesize').find('option:contains("all")').val(rows);

将 jquery.tablesorter.pager.js 中默认值的大小设置为较高的值也可以,但是如果要对表进行排序,则会导致错误(然后什么都不显示)。

那么有没有办法将分页的默认大小设置为表的所有条目?

4

2 回答 2

2

您需要做的只是将值设置为一些非常大的数字,例如9999在所选选项值和寻呼机size选项(演示)中:

HTML

<select class="pagesize">
    <option value="10">10</option>
    <option value="20">20</option>
    <option value="30">30</option>
    <option value="40">40</option>
    <option selected="selected" value="9999">all</option>
</select>

Javascript

$('table')
    .tablesorter({
        widthFixed: true,
        widgets: ['zebra']
    })
    .tablesorterPager({
        container: $("#pager"),
        size: 9999 // pick a number larger than your table
    });
于 2013-10-07T22:04:59.433 回答
2
   // edit in jquery.tablesorter.pager.js,
   // add to construct function
   var total_page= config.totalPages;
   var total_rows_per_page = config.size;
   var total_rows = total_page*total_rows_per_page;

   // set value all to .pagesize
   $(".pagesize").append('<option value="' + total_rows  + '">All</option>');
于 2015-04-29T17:19:53.950 回答