覆盖表格分类器顺序

时间:2014-07-25 20:24:45

标签: javascript jquery tablesorter

我想覆盖tablesorter的排序。现在我在我的表中有以下条目动态添加:

1 Active,34 Active, 453 Active, 3235 Active, inactive, inactive

问题在于,我希望所有活动条目都按其排序,而不是前面的数字。

是否可以使用表格分类器执行此操作?如果是这样的话?

2 个答案:

答案 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]] 
}); 

});