我有一个HTML表格,tablesorter工作正常,我能够设置默认排序和其他一切(甚至我自己的解析器)......但是我需要一些列按降序排序后用户首先点击各自的标题。
默认情况下,所有列在第一次单击后按升序排序。我发现了一种方法可以将所有列的降序更改为降序。但我需要的是在用户第一次点击它们之后按升序对某些列进行排序,并按降序对其他列进行排序。
示例:某些列包含字符串,因此我希望按升序对它们进行排序。有些列包含更大值更好的值 - 在用户首次单击其标题后按降序对它们进行排序会很不错。
谢谢。
答案 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。