JQuery TableSorter逗号数字解析器无法正常工作

Spo*_*com 2 sorting tablesorter jquery-plugins

这是我的问题,

我目前正在使用JQuery Table Sorter,我在网上找到了一个Comma-Digit解析器.我遇到的问题是它似乎不起作用.

所以这里的列被排序为:

  1. 4666
  2. 141666
  3. 293
  4. 341666
  5. 346
  6. 461676

这应该按照排序

  1. 293
  2. 346
  3. 4666
  4. 141666
  5. 341666
  6. 461676

我使用的解析器是这样的:

$( function() { 

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

我只是不知道我做错了.我加错了吗?解析器错了吗?我在这里需要真正的帮助,并且一直在努力解决这个问题.

编辑:由于我如何生成我的列以及允许用户选择的列,我永远不会知道哪个标题是否存在.我尝试过使用class ="{sorter:'fancyNumber'}"命令,如下所示:http://tablesorter.com/docs/example-meta-parsers.html

**编辑:**看起来其中一列正常工作,但此列仍有问题.也许是因为它有数字和逗号分隔的数字?

Spo*_*com 10

对于任何遇到这个问题的人.我不得不把这个类添加到我的标题行.所以对于我想要排序的任何标题,我添加了这个类:

<th class=\"{sorter: 'fancyNumber'}\">
Run Code Online (Sandbox Code Playgroud)

这默认打开了分拣机,使其工作得很好.

是什么让我意识到我的错误就是打开调试器.

$("#tblInfo").tablesorter({debug:true, widgets: ['zebra'], widgetZebra: { css: ['d0', 'd1']} });
Run Code Online (Sandbox Code Playgroud)

  • 虽然有动态的列数,但这并不好.例如,有时此列是一个表中的第5列和另一个表中的第4列.通过直接将它放入TH,您可以确保它在任何地方都能正常工作.我不喜欢用数字硬编码指定列号. (2认同)