我想使用 tablesorter 对包含多个美元符号的表格单元格列进行排序。美元符号的数量从 1 美元到 5 美元美元不等,并且应该以 1 为最低和 5 为最高进行排序。注意:我需要这些字符串完全匹配,因为会有很多美元符号被抛出,所以 $$$ 需要与 $$ 和 $ 区分开来。
这是我目前使用的代码,当我有美元符号时它不起作用,但是当我用“b”和“a”替换它们时,它完美地工作。我有 2 个美元符号代表 1,因为我读到这是在正则表达式中表示美元符号所必需的。我也试过了\$
。这可能是由于在 HTML 表中输入美元符号的方式造成的吗?我使用了标准的“$”和“ $
”,都不能正常工作。
// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// set a unique id
id: 'pricerange',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
return s.toLowerCase().replace(/\bd\b/g,3).replace(/\bc\b/g,2).replace(/\b$$$$\b/g,1).replace(/\b$$\b/g,0);
},
// set type, either numeric or text
type: 'numeric'
});
$(function() {
$("myTable").tablesorter({
headers: {
3: {
sorter:'pricerange'
}
}
});
});