jQuery tablesorter fancyNumber插件无法正常工作

时间:2012-11-09 23:34:03

标签: javascript jquery tablesorter

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

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

1 个答案:

答案 0 :(得分:1)

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

就个人而言,我认为更好的方法是在headers选项中设置分拣机:

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

我设置a demo以表明它有效。