jQuery Tablesorter - 自定义解析器无法正常工作

时间:2009-09-15 01:29:02

标签: jquery parsing tablesorter

我正在尝试为jQuery插件Tablesorter编写自定义解析器。我们的想法是在第一次点击时按降序对数字进行排序。

但是,当我对表格进行排序时,订单不会改变。有时会移动几行,但大多数都保持不变。这是代码:

$.tablesorter.addParser({
    id: 'desc',
    is: function(s) { return false },
    format: function(s) {
        return 1.0 / parseFloat( s.replace(/,/g,'') );
    },
    type: 'numeric'
});

我写的其他解析器工作正常。我尝试了9999减去数字而不是1.0除以它,以防它是漂浮物的问题(没有运气)。

2 个答案:

答案 0 :(得分:2)

我找到了解决方案。我在每列中都有一些空单元格,它们被解析为“NaN”。为什么这搞砸了订单,我不知道(空白单元格间歇性地用常规数字间隔,没有任何顺序)。

简而言之,此代码适用于格式化函数:

 format: function(s) {
  if ( s == '' )
   return 0;  
  return -parseInt( s.replace(/,/g,'') );
 }

答案 1 :(得分:0)

要以反向数字顺序对某些内容进行排序,对我来说,自然的方法是将它乘以-1,而不是你尝试过的方法。

对于解析器本身,我注意到的唯一区别是你返回一个实际数字,而Tablesorter站点的parser example返回一个字符串。也许在返回之前将值转换回字符串会起作用吗?