我想覆盖tablesorter的排序。现在我在我的表中有以下条目动态添加:
1 Active,34 Active, 453 Active, 3235 Active, inactive, inactive
问题在于,我希望所有活动条目都按其排序,而不是前面的数字。
是否可以使用表格分类器执行此操作?如果是这样的话?
答案 0 :(得分:1)
好的,我明白了。我必须做的是使用tablesorter解析器。然后我使用正则表达式去除Active
字符串之外的数字和空格。然后我将inactive
替换为值1,将active
替换为值2.然后,我可以将我的表排除在活动和非活动类别之外,并根据另一列进行进一步排序。以下是代码:
$.tablesorter.addParser({
//give an id to the parser
id: 'campaigns',
is: function(s) {
return false;
},
format: function(s) {
//remove any numbers and spaces in the string s
var state = s.replace(/[0-9]/g, '').replace(/\s/g, '');
//change inactive to a 1 and active to a 2
return state.toLowerCase().replace(/inactive/,1).replace(/active/,2);
},
//sort on a numeric type
type: 'numeric'
});
$(function() {
$("table#game-data-table").tablesorter({
//sort based off of active inactive, then off column 4,and finally off column 1
sortList: [[1,1], [3,1], [0,0]],
headers: {
1: {
sorter: 'campaigns'
}
}
});
});
答案 1 :(得分:0)
你可以这样做:
$(document).ready(function() {
// call the tablesorter plugin
$("table").tablesorter({
// sort on the first column and third column, order asc
sortList: [[0,0],[2,0]]
});
});