0

我想在 Javascript 中使用表排序器对表进行排序。但是当列中有字母数字数据时,则无法正确排序。

例如:

order1023
order1145
quote786
invoice1253
quote1010

我尝试给出标题:{ 0: {sorter: 'text'}}, textExtraction: "complex"} 但我得到的结果是:

quote1010
order1023
order1145
invoice1253
quote786

我想要结果为

invoice1253
order1023
order1145
quote786
quote1010
4

1 回答 1

1

你应该添加一个解析器,如下所示,

$.tablesorter.addParser({
  id: 'alphanum',
  is: function(s) {
    return false;
  },
  format: function(s) {
    var str = s.replace(/(\d{1,2})/g, function(a){
        return pad(a);
    });

    return str;
  },
  type: 'text'
});

function pad(num ){
  var s = '00000' + num;
  return s.substr(s.length-5);
}    

初始化时,

$(function() { 
    $("table").tablesorter({ 
        headers: { 
            6: { // column number
                sorter:'alphanum' 
            } 
        } 
    }); 
}); 
于 2013-08-29T11:50:40.243 回答