合計を合計するためにjQuery計算プラグインを使用する注文フォームがあります。
この合計は問題なく機能しますが、生成された「合計」に問題があります。まとめると、ドットをコンマに置き換えたいと思います。
コードの基礎は次のとおりです。
function ($this) {
var sum = $this.sum();
$("#totaal").html("€ " + sum2);
}
Var sumで.replace()を直接使用しても機能しません(参照された関数はオブジェクトでは使用できません)。私もこれを試しました(効果はありません)。
var sum2 = sum.toString().replace(',', '.');
私はjQueryの初心者なので、今はかなり行き詰まっています。誰かが私を正しい方向に向けることができますか?
あなたの置換ラインはほぼ正しいです。 g
オプションを指定して正規表現を使用する必要があります。これは、最初のインスタンスだけでなく、すべてのインスタンスを置き換えることを示しています。また、順序が入れ替わっています(1つ目は見つけるもの、2つ目はそれを置き換えるものです)。
var sum2 = sum.toString().replace(/\./g, ',');
\
の前に .
:.
はRegExpで特別な意味を持つため、エスケープする必要があります。
Sumが数値の場合、これは機能します。
var sum_formatted = String( sum ).replace(/\./g,',');
Typeof(sum)を実行して、出力を教えてください。
また、jsfiddle.comでプロジェクトを設定できると便利です。
あなたの問題は、あなたの置換関数が逆の方法ではなくreplace('.', ',')
を読み取るべきであるということです(あなたはreplace(',', '.')
を持っていました)、最初の引数が探しているものであり、2番目の引数が代わりにそこに欲しいものです。すべてのコンマをピリオドに置き換えていました。ここでの正規表現は不要です。