2012-09-15 16 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

相關問題