jquery tablesorter没有正确排序负货币

时间:2014-02-18 05:03:17

标签: javascript jquery tablesorter

tablesorter不会正确排序1列,而是另一列!

我尝试了一些不同的自定义解析器,但似乎都没有。请参阅此处的示例

http://jsfiddle.net/jybMB/

format: function(s) {
            // format your data for normalization

            var value = replaceAll(',','',s.toLowerCase());

            //value = replaceAll('-','',value);

            //return parseFloat(value.replace('$', ''));

            return $.tablesorter.formatFloat(value.replace(new        RegExp(/[^0-9-.]/g),""));
        },

你可以看到Col1没有正确排序,而Col2没有排序。我怀疑它与负面符号有关但奇怪的是Col2在没有任何自定义解析器的情况下工作。

1 个答案:

答案 0 :(得分:4)

这样的事情怎么样:

Live Demo

$.tablesorter.addParser({
    // set a unique id
    id: 'money', 
    is: function(s) { 
        // return false so this parser is not auto detected 
        return false; 
    }, 
    format: function(s) { 
        return parseInt(s.replace(/\$/,'').replace(/\,/,''),10); 
    }, 
    // set type, either numeric or text 
    type: 'numeric' 
});


$("#servicesTable").tablesorter({
    sortList: [[0,1]], 
    headers:
    {
        0 : { sorter: "money"  },
        1 : { sorter: "money"  }           
    }  
});