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']
    });
});