Javascript jquery表排序器未正确排序负数货币

Javascript jquery表排序器未正确排序负数货币,javascript,jquery,tablesorter,Javascript,Jquery,Tablesorter,tablesorter不会对一列进行正确排序,但会对另一列进行正确排序 我尝试了一些不同的自定义解析器,但似乎都不起作用。请参见此处的示例 您可以看到,Col1没有得到正确的排序,但是Col2得到了正确的排序。我怀疑这与否定符号有关,但奇怪的是,Col2在没有任何自定义解析器的情况下也能工作 像这样的东西怎么样: 像这样的怎么样: 问题出在$(“#servicesTable”).tablesorter函数中。如果您只使用@Brandon提供的代码替换它(并提供相同的id),那么您的代码可以

tablesorter不会对一列进行正确排序,但会对另一列进行正确排序

我尝试了一些不同的自定义解析器,但似乎都不起作用。请参见此处的示例


您可以看到,Col1没有得到正确的排序,但是Col2得到了正确的排序。我怀疑这与否定符号有关,但奇怪的是,Col2在没有任何自定义解析器的情况下也能工作

像这样的东西怎么样:


像这样的怎么样:


问题出在
$(“#servicesTable”).tablesorter
函数中。如果您只使用@Brandon提供的代码替换它(并提供相同的id),那么您的代码可以工作。否则解析器中的代码永远不会执行(我添加了
alert(“hello”)
在返回语句之前,它没有被触发。感谢分享这个问题!我将在下一次更新中修复货币解析器,这样它将自动检测货币符号后带有负数的货币。@AB代码在fiddle fine之外工作,当然如果您更改ID,代码不会执行,它应该是same ID作为它试图排序的表。我之前在解析器函数中放置了一个警报,但警报没有显示,但我知道解析工作正常。
$(“#servicesTable”).tablesorter
函数中存在问题。如果您只使用@Brandon提供的函数替换它(并提供相同的ID)你的代码可以工作,否则解析器中的代码永远不会执行(我添加了
alert(“hello”)
在返回语句之前,它没有被触发。感谢分享这个问题!我将在下一次更新中修复货币解析器,这样它将自动检测货币符号后带有负数的货币。@AB代码在fiddle fine之外工作,当然如果您更改ID,代码不会执行,它应该是same ID作为它试图排序的表。我之前在解析器函数中放置了一个警报,但警报没有显示,但我知道解析是工作的
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),""));
        },
$.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"  }           
    }  
});