2013-10-19 70 views
-2

嘿傢伙我在這裏有一些代碼應該加起來所有的有效數據,然後總計它。JavaScript For循環parseFloat或parseInt

if (myErrorFlag != "Y") 
{ 
    for (i = 1; i <= 4; i++) 
    { 
     AmountNumber = 'amount' + i; 
     AmountValue = parseInt($(AmountNumber).value); 
     $('total').value += parseInt(AmountValue); 
    } 

} 

我想要的是讓循環獲取所有輸入的值並將其總和。

+0

什麼庫您使用? – 0x499602D2

+0

還有什麼標記看起來像 – PeeHaa

+0

我不明白這段代碼。什麼是$(AmountNumber)? – Moob

回答

1

的問題是,即使你是parseInt ING,你還在串聯:

$('total').value = $('total').value + parseInt(AmountValue); 

這是你的+=有效地做什麼。而輸入的值是一個字符串。

試試這個:

var total = 0, i; 
for(i=1; i<=4; i++) { 
    total += parseInt(document.getElementById('amount'+i).value,10); 
} 
document.getElementById('total').value = total; 
+0

這很好,但只是幾個問題..我在var total = 0,i代表什麼?爲什麼在('amount'+ i).value,10)之後有一個10; @Niet the Dark Absol –

+0

@ user2872778'10'指十進制數字系統。 – thefourtheye

+0

'var total = 0,i'定義了一些局部變量,即。避免污染全球範圍,這非常重要。在這種情況下,'i'是迭代器,'total'是一個AS AN INT的運行總數,而不是將其另存爲字符串。至於'10',正如第四位說的那樣。 「parseInt」的第二個參數不是可選的。 –