Javascript 带破折号的Tablesorter自定义解析器

Javascript 带破折号的Tablesorter自定义解析器,javascript,jquery,tablesorter,Javascript,Jquery,Tablesorter,我有一个整数,双精度和破折号字符的组合,我需要用这个插件对它进行排序 下面是我的一个数据表的外观: 5,841 - 121 - 1,102 - - 743 - 144 9,065 - 2,230 200 6,450 209 0 1 45 54,463 162 8,222 我希望输出如下: 0 1 45 121 162 144 200 209 743 1,102 2,230 5,841 6,450 8,222 9,065 54,463 - - - - - - <tr> &l

我有一个整数,双精度和破折号字符的组合,我需要用这个插件对它进行排序

下面是我的一个数据表的外观:

5,841
-
121
-
1,102
-
-
743
-
144
9,065
-
2,230
200
6,450
209
0
1
45
54,463
162
8,222
我希望输出如下:

0
1
45
121
162
144
200
209
743 
1,102 
2,230 
5,841
6,450 
8,222
9,065
54,463
-
-
-
-
-
-
<tr>
<td><span>122</span><td>
<td><span>12,2</span><td>
</tr>
或:

我尝试过这个解析器,但不太有效:

jQuery.tablesorter.addParser({
  id: "commaDigit",
  is: function(s, table) {
    var c = table.config;
    return jQuery.tablesorter.isDigit(s.replace(/,/g, ""), c);
  },
  format: function(s) {
    return jQuery.tablesorter.formatFloat(s.replace(/,/g, ""));
  },
  type: "numeric"
});

$('#table_list').tablesorter({
        headers : { 
                0 : {sorter:'commaDigit'},
                1 : {sorter:'commaDigit'},
                2 : {sorter:'commaDigit'}
            }
    });
更新:

我不知道这是否相关,但我的数据如下所示:

0
1
45
121
162
144
200
209
743 
1,102 
2,230 
5,841
6,450 
8,222
9,065
54,463
-
-
-
-
-
-
<tr>
<td><span>122</span><td>
<td><span>12,2</span><td>
</tr>

122
12,2

您的脚本似乎工作正常

您可能需要检查
是否有带有标题的
部分,否则插件将无法工作


如果您使用的是asp.net和GridView,则必须将其显式设置为使用
(请参阅:)

您的脚本似乎工作正常

您可能需要检查
是否有带有标题的
部分,否则插件将无法工作


如果您使用的是asp.net和GridView,则必须将其显式设置为使用
(请参阅:)

如果希望将破折号视为最大值,只需将其设置为该值(
Number.MAX\u value
)。否则,可以将其设置为负值(
-Number.MAX\u VALUE
)。这是一本书


如果希望将破折号视为最大值,只需将其设置为该值(
Number.MAX\u value
)。否则,可以将其设置为负值(
-Number.MAX\u VALUE
)。这是一本书


当数字有一个
时,没有看到任何差异,感谢您的回复。请看一看,向下排序将破折号放在零之前。它应该如何排序破折号?当数字有一个
时,没有看到任何差异。感谢您的回复。请看一看,向下排序将破折号放在零之前它应该如何排序破折号?