for 循环中的 getElementById() 以检索输入值
getElementById() in for loop to retrieve input values
在 for
循环中,我使用 getElementById()
检索 javascript 中的几个输入值。
首先,我制作了一堆输入框并使用 for
循环设置不同的 id's
。
现在我正在使用第二个 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]
,就会找到该值。只有当我尝试使用 "j"
变量引用 id
时,代码才会停止工作。
我已经阅读了此处的其他一些问题和答案,但 none 正是我想要的。
谢谢!
你好像没有在 id 周围加上引号,然后 id 没有正确定义试试这个方法
for (i=0;i<products.length;i++){
var display;
display ="<input type='number' id='"+products[i][0]+"' onchange=myFunction()>";
document.write(display);
}
<script type="text/javascript">
var products = ["Saab","Volvo","BMW"];
for (i=0;i<3;i++)
{
var display;
display ="<input type='number' id='"+products[i]+"'onchange=myFunction(this.id)>";
document.write(display);
}
document.write("<p id=demo></p>");
var totalVeg=0;
function myFunction(_this) {
amount = parseInt(document.getElementById(_this).value);
totalVeg += amount;
document.getElementById("demo").innerHTML = "You selected: " + totalVeg;
}
</script>
大家可以参考一下。希望对你有帮助。
在 for
循环中,我使用 getElementById()
检索 javascript 中的几个输入值。
首先,我制作了一堆输入框并使用 for
循环设置不同的 id's
。
现在我正在使用第二个 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]
,就会找到该值。只有当我尝试使用 "j"
变量引用 id
时,代码才会停止工作。
我已经阅读了此处的其他一些问题和答案,但 none 正是我想要的。
谢谢!
你好像没有在 id 周围加上引号,然后 id 没有正确定义试试这个方法
for (i=0;i<products.length;i++){
var display;
display ="<input type='number' id='"+products[i][0]+"' onchange=myFunction()>";
document.write(display);
}
<script type="text/javascript">
var products = ["Saab","Volvo","BMW"];
for (i=0;i<3;i++)
{
var display;
display ="<input type='number' id='"+products[i]+"'onchange=myFunction(this.id)>";
document.write(display);
}
document.write("<p id=demo></p>");
var totalVeg=0;
function myFunction(_this) {
amount = parseInt(document.getElementById(_this).value);
totalVeg += amount;
document.getElementById("demo").innerHTML = "You selected: " + totalVeg;
}
</script>
大家可以参考一下。希望对你有帮助。