for循环中的getElementById()来检索输入值

时间:2015-11-29 15:45:32

标签: javascript html loops getelementbyid

for循环中,我使用getElementById()在javascript中检索多个输入值。

首先,我制作了一堆输入框,并使用id's循环设置不同的for。 现在,我使用第二个for循环来引用这些id's并检索其输入值。

代码:

for (i=0;i<products.length;i++){
    var display;
    display ="<input type='number' id="+products[i][0]+" onchange=myFunction()>";
    document.write(display);
}


document.write("<p id=demo></p>");

function myFunction() {
    var totalVeg=0;

    for (j=0;j<products.length;j++){
        amount = document.getElementById(products[j][0]).value;
        totalVeg += amount;
    }
    document.getElementById("demo").innerHTML = "You selected: " + totalVeg;

}
</script>

具体来说,我遇到了这个部分的问题:

amount = document.getElementById(products[j][0]).value;

如果我引用特定输入,例如products[0][0],则会找到该值。只有当我尝试使用id变量引用"j"时,代码才会停止工作。

我已经在这里阅读了其他一些问题和答案,但没有一个是我想要的。

谢谢!

2 个答案:

答案 0 :(得分:0)

似乎你没有关于id的引用,但是没有正确定义id尝试这种方式

for (i=0;i<products.length;i++){
  var display;
  display ="<input type='number' id='"+products[i][0]+"'   onchange=myFunction()>";
  document.write(display);
}

答案 1 :(得分:0)

<input type="button" id="button1" />
<input type="button" id="button2" />
<input type="button" id="button3" />
<input type="button" id="button4" />
<input type="button" id="button5" />
<input type="button" id="button6" />
<input type="button" id="button7" />
<input type="button" id="button8" />
<input type="button" id="button9" />

您可以将其作为参考。希望它有所帮助。