<script>
$(document).ready(function()
{
$("#results").tablesorter({
cancelSelection: true,
headers:
{ 0 : { sorter: "text" },
1 : { sorter: "digit" },
2 : { sorter: "text" },
3 : { sorter: "digit" },
3 : { sortInitialOrder: "desc" },
4 : { sorter: "digit" },
4 : { sortInitialOrder: "desc" }
}
});
}
);
$('#results').on('sortBegin', function () {
var c = this.config,
col = c.sortList[0][0];
if ( col === 0 ) {
// column 0 sorting, add column 2
c.sortList.push( [2,0] );
} else if ( col === 2 ) {
// column 2 sorting, add column 4
c.sortList.push( [4,1] );
}
}).tablesorter({
widgets: ['columns']
});
</script>
我需要什么: 1.按列0(升序,默认)排序,然后按列2(升序,默认)排序 2.按列2(升序,默认)排序,然后按列4(升序,非默认值)
排序我不想使用sortAppend,因为我不希望总是进行一些额外的排序。我只需要第0列和第2列。 我不想使用带有“secondary”和“thertiary”选项的小部件,因为我不想进行“二级”排序。 我确实需要像条件分类一样的东西,比如
sortAppend [0]: [2,0]
sortAppend [2]: [4,1]
我该怎么做?
更新:我更改了基本问题以包含建议的解决方案。它经过测试并按要求工作,非常感谢Mottie和他的桌子分组!
答案 0 :(得分:1)
它不漂亮,但您可以绑定到sortBegin
事件并附加自定义排序(demo)
$(function () {
$('table').on('sortBegin', function () {
var c = this.config,
col = c.sortList[0][0];
if ( col === 0 ) {
// column 0 sorting, add column 2
c.sortList.push( [2,0] );
} else if ( col === 2 ) {
// column 2 sorting, add column 4
c.sortList.push( [4,1] );
}
}).tablesorter({
theme: 'blue',
widgets: ['zebra', 'columns']
});
});