tablesorterを使用して、いくつかのドル記号が含まれるテーブルセルの列を並べ替えたいと思います。ドル記号の量は1ドルから5ドル$$$$$の範囲で、1が最低、5が最高でソートする必要があります。注:多くのドル記号がスローされるため、これらの文字列を正確に一致させる必要があります。したがって、$$$は$$および$と区別する必要があります。
現在使用しているコードは次のとおりです。ドル記号を入力すると機能しませんが、「b」と「a」に置き換えると完全に機能します。正規表現でドル記号を表すために必要であると読んだので、1を表す2つのドル記号があります。私も試し\$
ました。これは、ドル記号が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'
}
}
});
});