我有一张比赛结果表http://bhaa.ie/events/eircom-2014,其中年龄类别和年龄类别的位置显示在一列上。年龄类别的值为SM,35M,40M,....,85M。 p0x表示该类别中的跑步者位置。
SM p01
35M p01
SM p02
45M p01
此时的默认排序优先考虑35个分类,即
35M p01
45M p01
SM p01
SM p02
我希望SM(即高级男士)首先出现在排序顺序
中SM p01
SM p02
35M p01
45M p01
这是否可以使用jQuery tablesorter?
答案 0 :(得分:1)
只需使用custom parser进行排序,如下所示:
$.tablesorter.addParser({
id: 'age',
is: function(s) {
return false;
},
format: function(s) {
return (s === 'SM' ? 0 : parseInt(s.replace('M', ''), 10));
},
type: 'numeric'
});
$(function() {
$("table").tablesorter({
headers: {
0: {
sorter:'age'
}
}
});
});
jsfiddle上提供完整代码。
单击t0
标题以查看操作中的排序
答案 1 :(得分:0)
如果您使用的是fork of tablesorter,则可以将stringTo
option设置为min
,以强制字母字符始终在最低数字(demo)之前排序:< / p>
$(function () {
$('table').tablesorter({
theme: 'blue',
stringTo: "min",
headers: {
4: {
sorter: 'digit'
}
}
});
});
此外,设置headers
选项以确保将列设置为使用数字解析器而不是文本解析器,因为“S”位于第一行,因此该列被检测为文本列