jQuery Tablesorter Pager - 设置第一个显示的行

Posted

技术标签:

【中文标题】jQuery Tablesorter Pager - 设置第一个显示的行【英文标题】:jQuery Tablesorter Pager- Set first displayed row 【发布时间】:2010-01-10 21:54:48 【问题描述】:

我在这里使用 TableSorter 和 Pager 插件: http://tablesorter.com/docs/

我希望表格显示从某个定义的索引开始的结果 - 例如,如果我的索引是 14,我希望表格显示结果 11-20 的“页面”,所以我的行被显示,而不是开始在默认页面1,显示结果1-10。

我按预期工作,但代码相当难看..

首先我计算出需要显示的页面(C#):

int index = 24;
int pageToDisplayFirst = 1;
while (true)

    if (index - 10 > 0)
    
        pageToDisplayFirst++;
        index -= 10;
    
    else
    
        break;
    

然后我通过这个糟糕的循环设置页面:

for(var i = 0; i < <%= pageToDisplayFirst %>; i++) 
    $(".next").trigger("click");

这里是jQuery初始化代码,没什么特别的:

 $("table.tablesorter").tablesorter(
     cssAsc: 'sortasc', cssDesc: 'sortdesc', cssHeader: 'unsorted',
     sortList: [[0,0]]
 ).tablesorterPager(container: $("#pager"));

那么任何人都可以提出一个更优雅、更有效的解决方案吗?

【问题讨论】:

【参考方案1】:

我不懂 c#,但你可以这样做:

pageToDisplayFirst = Math.floor(index / itemsPerPage + 1)

 //found this code in the plungin source
this.defaults = 
    size: 10,
    offset: 0,
    page: 0, <<<<
    totalRows: 0,
    totalPages: 0,
    container: null,
    cssNext: '.next',
    cssPrev: '.prev',
    cssFirst: '.first',
    cssLast: '.last',
    cssPageDisplay: '.pagedisplay',
    cssPageSize: '.pagesize',
    seperator: "/",
    positionFixed: true,
    appender: this.appender
;

也许你会这样做

$("table.tablesorter").tablesorter(
    cssAsc: 'sortasc', cssDesc: 'sortdesc', cssHeader: 'unsorted',
    sortList: [[0,0]]
).tablesorterPager(container: $("#pager"), page: <%= pageToDisplayFirst %>);

【讨论】:

我坐着盯着aaagess的那些默认选项,为什么'page'没有点击? :p 谢谢,这很有帮助!

以上是关于jQuery Tablesorter Pager - 设置第一个显示的行的主要内容,如果未能解决你的问题,请参考以下文章

使用 JQuery Tablesorter Pager 的列突出显示问题

tablesorter -- pager_output 变量在多个表之间共享

jquery tablesorter更改页面

jQuery tablesorter 页面插件不起作用

问题:使用 jquery 插件 tablesorter 进行表格排序和分页

Tablesorter 和 Pager:如何安装?