ボタンをクリックしてフィールドを追加できる注文フォームがあります。注文価格を合計するバックエンド JavaScript を実行していますが、総計スクリプトがわかりません。
私の問題は、DOM 全体を検索し、次のパターンに一致する ID を持つものがいくつあるかを見つけるスクリプトが必要なことです。
totprice01 totprice02 totprice03 totprice(n)
私はこの正規表現で遊んでいますが、運が悪いのではないかと心配しています:
matchStr = new RegExp("\\btotprice\\d{2}\\b", "gi");
すべての HTML ID の配列を取得したら、それらを関数に渡す必要があります。この関数は、これまでのところ次のようになっています。少なくとも動的ではなく、すべてハードコードされていることに注意してください。
document.getElementById('totpricetot').value = Math.round((parseFloat(document.getElementById('totprice1').value)+parseFloat(document.getElementById('totprice2').value)+parseFloat(document.getElementById('totprice3').value)+parseFloat(document.getElementById('totprice4').value)+parseFloat(document.getElementById('totprice5').value)+parseFloat(document.getElementById('totprice6').value)+parseFloat(document.getElementById('totprice7').value)+parseFloat(document.getElementById('totprice8').value)+parseFloat(document.getElementById('totprice9').value)+parseFloat(document.getElementById('totprice10').value))*100)/100;
これを式+関数に入れて、すべての値の合計を返すのを手伝ってくれる人はいますか?
どうもありがとう!
編集
OK、プレーンな古いjavascriptを使用するだけで捨てることにしました-JQueryです!以下の例のいくつかを使用してこのコードをまとめましたが、誰かがデバッグを手伝ってくれませんか?
<input id="totprice08" onChange="totChange()" class="total_field" />
<input id="totprice09" onChange="totChange()" class="total_field" />
<input id="totprice10" onChange="totChange()" class="total_field" />
etc...
<input id="totpricetot" value="0.00" name="totpricetot" />
jQuery(function($) {
function totChange() {
var sum=0;
$('.total_field').each(function() {
sum += $( this ).val () * 1;
} );
$('#totpricetot').val(sum);
}
});