首页 > 解决方案 > 在 Tablesorter 中过滤。意外行为

问题描述

在我的 tablesorter 中,我将此 addParser 应用于我在此问题中显示的列。而且效果很好,但是当我以某种方式过滤时,我发现了一个意外的行为。

没有过滤的结果将如下图所示:

在此处输入图像描述

addParser 的代码是下一个:

$.tablesorter.addParser({ // set a unique id id: 'kilogramos', is: function(s) { // return false so this parser is not auto detected return false; }, format: function(s) { // format your data for normalization return parseFloat(s.replace(' Kg','').replace('.','')); }, // set type, either numeric or text type: 'numeric' });

如果我使用“>=”,它似乎会应用 addParser,因为我可以摆脱“。” 和“Kg”,它找到 11.689 Kg 的结果。

在此处输入图像描述

但似乎如果我不使用“>”或“>=”等运算符,行为会发生变化,它需要点来找到你想要得到的东西。在接下来的图片中,我展示了我的意思。

在此处输入图像描述 在最后一张图片中,我没有使用运算符,也没有找到任何结果。相反,它现在需要“。” 甚至它的“公斤”也有效。下一张图证明:

在此处输入图像描述

我只是不想需要这个“。” 或“Kg”在任何情况下都可以使用。

有什么帮助吗?谢谢

标签: filtertablesorter

解决方案


我认为您所缺少的只是标题中的“过滤器解析”类(演示

<th class="sorter-kilogramos filter-parsed">Kg</th>

推荐阅读