【问题标题】:jQuery Tablesorter Pager- Set first displayed rowjQuery Tablesorter Pager - 设置第一个显示的行
【发布时间】: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")});

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

【问题讨论】:

    标签: jquery plugins tablesorter 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 谢谢,这很有帮助!
    猜你喜欢
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多