0

我希望字段“sub_total”随着各种字段的更改而更新,而不是在更新一个特定字段时更新(即:“add_on”)

尝试将 $(document).ready(function(){ 添加到代码顶部,但如果我添加它,它根本不会计算。

HTML:

<td>Total Cost Full Day</td>
<input type="text" name="total_full" id="total_full"  />

<td>&nbsp;</td>
    <td>&nbsp;</td>

 <td>Total Cost Half Day</td>
<input type="text" name="total_half" id="total_half"  />

<td>&nbsp;</td>
    <td>&nbsp;</td>


<td>Addon Charge</td>
<input type="text" name="add_on" id="add_on"  />

<td>&nbsp;</td>
    <td>&nbsp;</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;​
4

2 回答 2

1

您需要使用 jQuery 才能使用类似$(document).ready. 否则它将无法正常工作。

这是我最喜欢的方法,但也可以使用类似的方法window.onload。见下文...我还更改了您的 SubTotal 的计算。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;

}
于 2012-06-17T00:24:20.660 回答
0

如果您的函数与 add_on 字段一起使用,则应将该函数绑定到要计算的每个字段上。就像您为“add_on”所做的一样。

因此,每次更改其中一个字段时,您的函数都会更新小计。

于 2012-06-17T00:22:33.307 回答