我有一个如下的javascript:
function calculateBill(id,price)
{
var t = document.getElementById('total').value;
var qty = document.getElementById('qty_'+id).value;
var total = qty * price;
var tcost = Number(t) + Number(total);
document.getElementById('total').value = '';
//tcost = parseFloat(tcost);
document.getElementById('total').value = tcost.toFixed( 0 ) ;
}
这个函数在 onchange 事件中被调用
<input type="text" id = "qty_<?php echo $i2; ?>" name="qty_<?php echo $i2; ?>" onchange="calculateBill('<?php echo $i2; ?>','<?php echo round($r2[$i2]['ret_price'],2); ?>')" />
因为它是一个 onchange 事件,所以每当我改变值时它都会计算总成本。现在我的问题是当我想更新以前输入的值时,它会计算新的金额到旧的总数。
(假设之前的数量值是 2 ,比率是 5 所以总计
5 * 2 = 10
因此来自 javascript 函数的总数为 10
现在,如果我将数量编辑为 1,插入 5*1 = 5,我将得到 10 + ( 5 * 1) = 15 !) 我怎样才能防止这种情况发生?