我希望字段"sub_total"随着各种字段的更改而更新,而不是在更新一个特定字段时更新(即:"add_on")
我尝试将 $(document).ready(function(){ 添加到代码顶部,但如果我添加它,它根本不计算。
.HTML:
<td>Total Cost Full Day</td>
<input type="text" name="total_full" id="total_full" />
<td> </td>
<td> </td>
<td>Total Cost Half Day</td>
<input type="text" name="total_half" id="total_half" />
<td> </td>
<td> </td>
<td>Addon Charge</td>
<input type="text" name="add_on" id="add_on" />
<td> </td>
<td> </td>
<td>Sub Total</td>
<input name="sub_total" type="text" id="sub_total" />
JAVASCRIPT
//Calculate Sub Total
function calculateSubTotal() {
var SubTotal = +total_full.value + +total_half.value + +add_on.value;
document.getElementById("sub_total").value = isNaN(SubTotal) ? 0 : SubTotal;
}
document.getElementById("add_on").onchange = calculateSubTotal;
document.getElementById("add_on").onkeyup = calculateSubTotal;
jQuery 来使用类似 $(document).ready
的东西。否则它将无法正常工作。
这是我最喜欢的方法,但使用类似window.onload
的方法也可以。见下文...我还更改了小计的计算。除非你声明了名为 total_full
、total_half
和 add_on
的变量,否则你仍然需要像分配事件时一样获取元素。
window.onload=function(){
//Calculate Sub Total
function calculateSubTotal() {
var SubTotal = +document.getElementById("total_full").value + +document.getElementById("total_half").value + +document.getElementById("add_on").value;
document.getElementById("sub_total").value = isNaN(SubTotal) ? 0 : SubTotal;
}
document.getElementById("add_on").onchange = calculateSubTotal;
document.getElementById("add_on").onkeyup = calculateSubTotal;
document.getElementById("total_full").onchange = calculateSubTotal;
document.getElementById("total_full").onkeyup = calculateSubTotal;
document.getElementById("total_half").onchange = calculateSubTotal;
document.getElementById("total_half").onkeyup = calculateSubTotal;
}
如果您的函数处理add_on字段,则应将该函数绑定到要计算的每个字段上。就像你为"add_on"所做的那样。
因此,每次更改其中一个字段时,函数都会更新小计。