Tablesorter(mottie fork)condinionally multi-column sort

时间:2015-10-16 19:07:21

标签: jquery tablesorter

友好的编码员:-)    我需要相对于tablesorter jquery插件的基本功能。首先,我不需要在表格中预先排序。我严格按照数据在文件中的顺序显示表。    所以,现在我的代码非常简单,并且是以下代码:

<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和他的桌子分组!

1 个答案:

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