我有动态形式,如:
<form id="formaa">
<div class="row">
<input type="text" name="item" class="item"></input>
<input type="text" name="quant" class="quant"></input>
<input type="text" name="price" class="price" onkeyup="update();"></input>
<input type="text" name="sum" id="suma" size="10" disabled="disabled"/>
</div>
<div class="row">
<input type="text" name="item" class="item"></input>
<input type="text" name="quant" class="quant"></input>
<input type="text" name="price" class="price" onkeyup="update();"></input>
<input type="text" name="sum" id="suma" size="10" disabled="disabled"/>
</div>
<!-- ... many more rows -->
<input type="text" disabled id="total" name="tot"></input>
</form>
我要做的是将项目数量和价格相乘,并分别在 sum 字段中为每个项目获取总和(不是所有项目的总和)。
我已经实现的是这个功能,但它似乎不是单独计算所有项目的总和,并且这与第一个默认字段行一起工作,当我添加新的字段集并用两个字段(以及其他后来添加的字段)填充它们时总和值变为 NaN ..如果我删除所有添加的字段集并保留第一个表单 fows 设置,数字再次起作用..这里有什么问题?
<script type="text/javascript">
function update() {
var total = 0;
$("#formaa div.row").each(function(i,o){
total += $(o).find(".quant").val() *
$(o).find(".price").val();
if(!isNaN(total) && total.length!=0) {
sum += parseFloat(total);
}
});
$("#formaa div.row #suma").val(total);
}
</script>