Tablesorter (mottie fork) condinionally 多列排序
Tablesorter (mottie fork) condinionally multi-column sort
友好的程序员:-)
我需要 tablesorter jquery 插件的基本功能。首先,我不需要 in table 预排序。我最初严格按照数据在文件中的顺序显示 table。
所以,现在我的代码非常简单,如下所示:
<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" 选项的小部件,因为我不想进行 "secondary" 排序。
我真的需要像条件 sortappend 这样的东西,比如
sortAppend [0]: [2,0]
sortAppend [2]: [4,1]
我该怎么做?
Upd:我更改了基本问题以包括建议的解决方案。它已经过测试并按要求工作,非常感谢 Mottie 和他的 tablesorter!
叉子
它不漂亮,但您可以绑定到 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']
});
});
友好的程序员:-) 我需要 tablesorter jquery 插件的基本功能。首先,我不需要 in table 预排序。我最初严格按照数据在文件中的顺序显示 table。 所以,现在我的代码非常简单,如下所示:
<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" 选项的小部件,因为我不想进行 "secondary" 排序。 我真的需要像条件 sortappend 这样的东西,比如
sortAppend [0]: [2,0]
sortAppend [2]: [4,1]
我该怎么做?
Upd:我更改了基本问题以包括建议的解决方案。它已经过测试并按要求工作,非常感谢 Mottie 和他的 tablesorter!
叉子它不漂亮,但您可以绑定到 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']
});
});