Jquery 插件-逗号小数
我有一个价格表,格式是:“1.234,56”(千位分隔符是句点,小数点分隔符是逗号)。这种格式不起作用,因为tablesorter插件将它视为字符串而不是数字,只要其中有不同的字符(只允许数字、+/-和“.”表示小数)Jquery 插件-逗号小数,jquery,tablesorter,Jquery,Tablesorter,我有一个价格表,格式是:“1.234,56”(千位分隔符是句点,小数点分隔符是逗号)。这种格式不起作用,因为tablesorter插件将它视为字符串而不是数字,只要其中有不同的字符(只允许数字、+/-和“.”表示小数) 如何在排序之前删除句点并用句点替换逗号?好的,我想我解决了这个问题。我的表中有货币,所以我编辑了“货币”解析器,但基本上你可以用任何其他解析器来完成。货币解析器最终看起来是这样的: '1.234,56'.replace('.', '').replace(',', '.') //
如何在排序之前删除句点并用句点替换逗号?好的,我想我解决了这个问题。我的表中有货币,所以我编辑了“货币”解析器,但基本上你可以用任何其他解析器来完成。货币解析器最终看起来是这样的:
'1.234,56'.replace('.', '').replace(',', '.') // '1234.56'
ts.addParser({
id: "currency",
is: function(s) {
return /^[£$€?.]/.test(s);
},
format: function(s) {
s=s.replace('.', '');
return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),""));
},
type: "numeric"
});
(顺便问一下,如何在stackoverflow上启用synthax highlight?到底是什么问题,您想删除逗号还是什么?不,我想将逗号设为小数点,并在排序前删除该点,以便它将我的“12.400,50”数字视为:“12400,50”,然后排序(至少理论上)可以工作。我有一个数据库,上面有这种格式的价格编号,所以我无法编辑。表格排序器允许您定义自定义排序功能吗?是的,这样-谢谢您的回复。是的,我曾经尝试过用自定义解析器做类似的事情,但它根本不起作用。那么,不要将解析直接放在tablesorter中。预处理JSON并用已经修改的数据初始化tablesorter。如果代码缩进四个空格,语法高亮会自动发生(但是如果将html与JS混合使用,则可能会混淆,除非在JS周围显式包含
标记)。不要像最初那样使用
标记。您也可以在键入代码时不缩进地输入代码,然后选择它并单击{}
按钮将其格式化为代码。
$.tablesorter.addParser({
// set a unique id
id: 'pesos',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
return s.replace(/' '/g,'').replace(/\./g, '');
},
// set type, either numeric or text
type: 'numeric'
});
$("#menuh").sticky({topSpacing:0});
$("#myTable").tablesorter();
$("#myTableBienes").tablesorter({
headers: {
5: {
sorter:'pesos'
}
}
});
});