如何在jQuery Tablesorter中为每一列设置默认排序顺序?

时间:2012-10-21 18:56:59

标签: jquery sorting tablesorter

我有一个HTML表格,tablesorter工作正常,我能够设置默认排序和其他一切(甚至我自己的解析器)......但是我需要一些列按降序排序后用户首先点击各自的标题。

默认情况下,所有列在第一次单击后按升序排序。我发现了一种方法可以将所有列的降序更改为降序。但我需要的是在用户第一次点击它们之后按升序对某些列进行排序,并按降序对其他列进行排序。

示例:某些列包含字符串,因此我希望按升序对它们进行排序。有些列包含更大值更好的值 - 在用户首次单击其标题后按降序对它们进行排序会很不错。

谢谢。

1 个答案:

答案 0 :(得分:10)

原始tablesorter(版本2.0.5)似乎不适用于此代码:

$('table').tablesorter({

    // default sortInitialOrder setting 
    sortInitialOrder: "asc", 

    // pass the headers argument and passing a object 
    headers: {
        2: { sortInitialOrder: 'desc' },
        3: { sortInitialOrder: 'desc' },
        4: { sortInitialOrder: 'desc' }
    }

});

但在我的fork of tablesorter中,您可以使用上述代码为每列设置初始排序顺序 - 请参阅this demo

还有一个名为sortRestart的选项,可以在列之前未排序时重置排序顺序 - 请参阅this demo