我有一个来自auto calculate the sum of input values with javascript的ajax代码。所以我想添加更多字段来满足我的需求。然后我添加了一些带有给定值的输入[checkbox]。这个想法是在检查框时。它的值将像输入[text]中的类型一样计算到过程中。
以下是代码:
<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 :(得分:0)
这是因为当您在键盘上释放键时会触发onkeyup
事件,而当您单击复选框时不会发生这种情况。您应该使用onchange
(但这不适用于较旧的IE)或onclick
。
另请注意,100
的值将始终添加到total
。如果您只想选中复选框,请使用类似
if (ele.type !== 'checkbox' || ele.checked) {
total += parseInt(ele.value);
}