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