我见过其他几个有问题的人只能在一个方向排序,但他们的解决方案都没有对我有用,因为他们的问题与我的问题完全不同。
我的tablesorter工作正常,直到我添加了自定义解析器。以下是我的自定义解析器的代码:
// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// set a unique id
id: 'weeks',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
return s.toLowerCase().replace(/bowl/,100); // replace with 100 since it will be higher than any other week number
},
// set type, either numeric or text
type: 'numeric'
});
$(function() {
$("#gamehisttab").tablesorter({
headers: {
0: {
sorter:'weeks'
}
}
});
});
这很简单,我正在排序的数据列只是一个数字列表,其中一些单元格用“'碗”字样填充。我希望列表按数字顺序对数字进行排序,然后将所有的碗放入'碗中。数字后的细胞。我更换碗#39; 100,因为有问题的数字永远不会超过99。
无论出于何种原因,当我添加上面的代码时,我的表正确加载,并在第一次排序时正确地按降序排序。然而,当我尝试第二次(在上升方向)排序时,它似乎工作了一瞬间,但然后立即再次排序回到下降方向,然后它将根本不排序,但将只是点击标题后,我会停留在下行方向。
删除自定义解析器会导致tablesorter再次正常工作(尽管显然不是以我想要的自定义方式排序)。
我对此问题非常困惑,无法找到解决方案。如果您需要我的代码的任何其他部分,我很乐意发布它们。
非常感谢你给我的任何帮助!