我正在寻找一种方法来排除使用jQuery的tablesorter插件排序单个列.具体来说,我有一个相当大的表,并希望保持一个"行号"列固定,以便在排序后很容易看到表中特定行的位置.
例如:
# name ----------- 1 papaya 2 apple 3 strawberry 4 banana
在name列上排序时,应该导致:
# name ----------- 1 apple 2 banana 3 papaya 4 strawberry
谢谢.
对于那些在寻找排除列可排序的方法(即列上的可点击标题)时发现这种情况的人,下面的示例排除第4列(零索引)被排序):
$("table").tablesorter({ headers: {4: {sorter: false}} });
这是一个可以使用的小部件,可以实现您的目标:
$(function() { // add new widget called indexFirstColumn $.tablesorter.addWidget({ // give the widget a id id: "indexFirstColumn", // format is called when the on init and when a sorting has finished format: function(table) { // loop all tr elements and set the value for the first column for(var i=0; i < table.tBodies[0].rows.length; i++) { $("tbody tr:eq(" + i + ") td:first",table).html(i+1); } } }); $("table").tablesorter({ widgets: ['zebra','indexFirstColumn'] }); });