0

我正在尝试通过此处fancyNumber向 tablesorter 添加自定义解析器。 但是,当我将代码添加到我的页面时,如下所示:

jQuery(document).ready( function() { 
jQuery.tablesorter.addParser({
  id: "fancyNumber",
  is: function(s) {
    return /^[0-9]?[0-9,\.]*$/.test(s);
  },
  format: function(s) {
    return jQuery.tablesorter.formatFloat( s.replace(/,/g,'') );
  },
  type: "numeric"
});

} ); 

然后我将表头设置如下:

'<th class="{\'sorter\': \'fancyNumber\'}"><strong>Calls</strong></th>' +

我必须转义单引号,因为我的表头包含在 JavaScript 变量中。

但是,这不起作用,我的逗号数字仍然被错误地排序:

Calls
783 
660
642,826 
613 
603,321
4

1 回答 1

0

我想知道元数据插件是否已加载。如上所示,在标题中设置的排序器需要插件。

就个人而言,我认为更好的方法是在headers选项中设置排序器:

$('table').tablesorter({
    headers : {
        3 : { sorter: 'fancyNumber' }
    }
});

这是我设置的演示,以显示它有效。

于 2012-11-11T08:02:28.400 回答