【发布时间】:2013-03-16 06:10:50
【问题描述】:
我有一个 (HTML) 表单,其中包含按需动态添加的字段。如果您在字段中输入内容,您会得到一行。
最后它计算一个总数。
HTML
<form id="myForm">Factor:
<input type="text" name="factor" value="6" />
<fieldset id="cloneset">
<input type="text" name="qty[1]" />
<input type="text" name="product[1]" onkeyup="if (this.value.length > 2 && treated[this.name] != 1){ addOne(); treated[this.name] = '1'; }"
/>
<input class="cost" type="text" name="amount[1]" onkeyup="calculateSum();" />
</fieldset>
<input id="total" type="text" name="total">
</form>
jQuery
>treated = new Object();
inputNumber = 1;
function addOne() {
inputNumber++;
$('#cloneset').append('<div><input type="text" name="qty[' + inputNumber + ']" /> <input type="text" name="product[' + inputNumber + ']" onkeyup="if (this.value.length > 2 && treated[this.name] != 1){ addOne(); treated[this.name] = \'1\'; }" /> <input class="cost" type="text" name="amount[' + inputNumber + ']" onkeyup="calculateSum();" /></div>');
}
function calculateSum() {
var sum = 0;
//iterate through each textboxes and add the values
$(".cost").each(function () {
//add only if the value is number
if (!isNaN(this.value) && this.value.length != 0) {
sum += parseFloat(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places
$("#total").val(sum.toFixed(2));
}
我有一个工作演示 in a fiddle
现在我想输入 - 比方说 - 小时,乘以(固定)速率。
寻找最佳实践来做到这一点。
【问题讨论】:
标签: jquery input row field calc