Javascript:使用不同类型的输入自动计算总和

时间:2012-09-15 16:19:24

标签: javascript sum

我有一个来自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>

问题是我无法使用这些输入框来计算复选框。请建议。

1 个答案:

答案 0 :(得分:0)

这是因为当您在键盘上释放键时会触发onkeyup事件,而当您单击复选框时不会发生这种情况。您应该使用onchange(但这不适用于较旧的IE)或onclick

另请注意,100的值将始终添加到total。如果您只想选中复选框,请使用类似

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