用于循环parseFloat或parseInt的JavaScript

用于循环parseFloat或parseInt的JavaScript,javascript,parsing,for-loop,Javascript,Parsing,For Loop,嘿,伙计们,我这里有一些代码,应该把所有的有效数据加起来,然后加起来 if (myErrorFlag != "Y") { for (i = 1; i <= 4; i++) { AmountNumber = 'amount' + i; AmountValue = parseInt($(AmountNumber).value); $('total').value += parseInt(AmountValue); } } if(myE

嘿,伙计们,我这里有一些代码,应该把所有的有效数据加起来,然后加起来

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

}
if(myErrorFlag!=“Y”)
{

对于(i=1;i而言,问题在于,即使您正在
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;
var总计=0,i;

对于(i=1;i您使用的是什么库?标记看起来像什么?我不理解这段代码。$(AmountNumber)是什么?在你的问题中添加更多细节,比如什么是AmountNumber——变量、字符串或int?还要注意,如果你将
id
传递给jQuery选择器方法,你需要在
id
前面加上
#
”。这很好,但只有几个问题。.在var total=0,i中,i代表什么?为什么在(“金额”+i.值,10)夜幕降临Absol@user2872778
10
指十进制数系统。
var total=0,i
定义了一些局部变量,即避免污染全局范围,这一点非常重要。在这种情况下,
i
是迭代器,
total
是作为INT的运行总计,而不是作为INT保存在其他地方字符串。至于
10
,这是四叶说的。
parseInt
的第二个参数不是可选的。哦,好的,谢谢!:)@thefourtheye@user2872778不客气:如果真的帮助你,请考虑接受这个答案。