我有一些输入字段
<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:最初只有一行输入字段,包括数量和成本输入字段,其余输入字段在点击事件时动态添加。
谢谢你