2011-07-01 46 views
7

我使用jQuery Tablesorter 2.0 plugin來提供一些基本的表格排序功能。帶行號的jQuery tablesorter

在我的桌子上,我想有一個行號列。麻煩的是,Tablesorter插件將其與其他所有內容一起排序。我曾嘗試設置第一列的「標題」屬性,但僅刪除排序功能。當我按不同的列排序時,它不會阻止列重新排序。

有這個插件可能的行號列表?你能想出解決問題的辦法嗎?

+2

對於任何一個downvoted的人......如果您在StackOverflow上遇到問題,最好留下解釋您推理的註釋。否則,任何人都無法學習,而你的無路可退是不值得的。 – Brad

回答

12

聽起來好像您需要在每次對錶進行排序時重新編號行。試試這個(使用它,你已經在你的桌子初始化的tablesorter後):

var table = $("#myTable"); 
table.bind("sortEnd",function() { 
    var i = 1; 
    table.find("tr:gt(0)").each(function(){ 
     $(this).find("td:eq(0)").text(i); 
     i++; 
    }); 
}); 
+0

這是完美的!唯一的缺點是舊號碼在重新編號時出現短暫的瞬間,但我相信對此無能爲力。再次感謝! – Brad

+0

不客氣,很高興我可以幫助:) –

+0

感謝這段代碼,只是用它來解決頭痛,工作一種享受。 – 2014-01-03 15:03:54

0

我已經找到了關於序數的ordenation的基礎上,@克里斯Laplante提供代碼解決方案。該解決方案僅在第一次創建表時運行sortEnd觸發器。所以我必須編輯源代碼。在更新tablesorter軟件時必須考慮到這一點。

在文件jquery.tablesorter.js圍繞線370,我們可以發現觸發:

// trigger sortend 
setTimeout(function() { 
    $(table).trigger("sortEnd"); 
}, 0); 

更改爲:

// trigger sortend 
if (runonce == undefined){ 
    setTimeout(function() { 
     $(table).trigger("sortEnd"); 
    }, 0); 
    runonce = true; 
} 

和定義變量的RunOnce一些放在函數appendToTable上:

var runonce;     
function appendToTable(table, cache) { ... 

您可以在以下查詢結果:http://formulaeweb.es/resultados.php點擊「Puntos」。