いくつかの入力フィールドがあります
<input type="text" name="quantity[]" class="est_quantity" placeholder="quantity"/>
<input type="text" name="quantity[]" class="est_quantity" placeholder="quantity"/>
<input type="text" name="quantity[]" class="est_quantity" placeholder="quantity"/>
<input type="text" name="cost[]" class="est_cost" placeholder="cost"/>
<input type="text" name="cost[]" class="est_cost" placeholder="cost"/>
<input type="text" name="cost[]" class="est_cost" placeholder="cost"/>
私はいくつかの計算を実行する必要があります。
//Calculate total Quantity, this is how i do it.
$('.est_quantity').live('keyup', function(){
var val = 0;
$('.est_quantity').each(function() {
if($(this).val().length && $(this).val() != '') {
val += Number($(this).val());
$('.est_total_quantity').html(val);
}
});
});
quantity[]
総量はすべての合計ですが、総コストの計算はほとんど変わらないため、上記のコードは正常に機能します。計算はこうなるから。
total cost = total_quantity * cost
//for each field or row.
コストの計算中に、値に対応する数量フィールドを掛けたいと思います。
何かのようなもの
var cost = $('.est_quantity').val * $('.est_cost').val();
私はこのようにしてみました
$('.est_cost').live('keyup', function(){
var val = 0.00;
$('.est_cost').each(function() {
if($(this).val().length && $(this).val() != '') {
var cost = $(this).val() * $('.est_quantity').val();
val += parseFloat(cost);
$('.est_total_cost').html(val.toFixed(2));
}
});
});
上記のコードは、最初の行のみに対して適切な計算をフェッチし、残りの部分では奇妙な値をフェッチします。
適切な計算のためにコードを使用するにはどうすればよいですか?
PS: 最初は、数量とコストの入力フィールドを含む 1 行の入力フィールドがあり、残りの入力フィールドはクリック イベント時に動的に追加されます。
ありがとうございました