2010-01-10 26 views
1

我使用的tablesorter和傳呼機插件從這裏: http://tablesorter.com/docs/的jQuery的tablesorter Pager-組的第一排顯示

我想表中顯示的結果開始在一些規定首頁 - 例如,如果我的指數爲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")}); 

那麼任何人都可以提出更優雅,更高效的解決方案嗎?

回答

2

我不知道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 %>}); 
+0

我坐在那裏,對aaagess這些默認選項,爲什麼盯着沒有'網頁'點擊? :p 謝謝,這有助於堆! – elwyn 2010-01-10 22:15:54