私はjQuery Tablesorterを使用しており、パーサーが表の列に対して適用される順序に問題があります。 $ -3.33という形式の通貨を処理するカスタムパーサを追加します。JQueryテーブル・パーサーのカスタム・パーサー
$.tablesorter.addParser({
id: "fancyCurrency",
is: function(s) {
return /^\$[\-]?[0-9,\.]*$/.test(s);
},
format: function(s) {
s = s.replace(/[$,]/g,'');
return $.tablesorter.formatFloat(s);
},
type: "numeric"
});
問題は、組み込み通貨パーサーが私のカスタムパーサーよりも優先されるようです。私はパーサを(通貨パーサの前に)tablesorterコード自体に置くことができ、それは正しく動作しますが、これはあまりメンテナンスできません。
headers: {
3: { sorter: "fancyNumber" },
11: { sorter: "fancyCurrency" }
}
のように、ソーターを手動で指定することはできません。表の列はユーザーの入力から動的に生成されるからです。私は1つのオプションは、CSSクラスとして使用するソーターを指定し、this questionのようなソーターを明示的に指定するためにいくつかのJQueryを使用すると思いますが、可能ならば動的検出に固執したいと思います。
肯定的な通貨の値がある場合、または常に負の値がある場合には失敗しますか? –
@Tim:私の答えをチェックし、それが役に立つと考えてください。ありがとう、友達。 – Gaurav123