2012-09-15 15 views
-1

的自动计算总和我有从auto calculate the sum of input values with javascript concepted一个Ajax代码。所以我想增加更多的领域来满足我的需求。然后我添加了一些输入[复选框]和给定的值。这个想法是当盒子被选中时。它的值将像输入[文本]中键入的那样计算到过程中。使用Javascript:具有不同类型的输入

下面的代码:

<script language="javascript"> 
function AddInputs() 
{ 
    var total = 0; 
    var coll = document.getElementsByTagName("input") 
    for (var i = 0; i<coll.length; i++) 
    { 
     var ele = coll[i]; 
     total += parseInt(ele.value); 
    } 
    var Display = document.getElementById("Display"); 
    Display.innerHTML = total; 
} 
</script> 

这里的形式:

<input onkeyup="AddInputs()" /> 
<input onkeyup="AddInputs()" /> 
<input onkeyup="AddInputs()" /> 
<input type="checkbox" onkeyup="AddInputs()" value="100" /> 
<span id="Display"></span> 

问题是我不能让该复选框以获得与输入框计算。请建议。

回答

0

这是因为,当您松开键盘上的键onkeyup事件被触发,当你点击复选框,这不会发生。您应该使用onchange(但这在旧版IE中不起作用)或onclick

另请注意,100的值将始终添加到total。如果要算的复选框只有当它的检查,使用类似

if (ele.type !== 'checkbox' || ele.checked) { 
    total += parseInt(ele.value); 
} 
+0

你的方法不工作: '代码 <输入的onkeyup = “AddInputs()”/> <输入的onkeyup = “AddInputs()”/> <输入的onkeyup = “AddInputs()”/> + 100 <跨度ID = “显示”> ' – Wilf

相关问题