javascript - 使用 for 循环的动态 JavaScript 变量名称

标签 javascript html variables for-loop dynamic

我有一个问题。在这方面工作了很长时间,但确实陷入困境。在 stackoverflow 中搜索类似的问题并没有真正帮助我 - 因为人们有一些不同的问题,而我无法实现我的代码的答案。

我有一个动态变化的 <input>元素,它们的 id 和值是由 PHP 创建的。所以,总数<input>元素可以是 1 个甚至 10+。

HTML:

<input id='photonumb1' type='text' value='001'/> 
<input id='photonumb2' type='text' value='002'/> 
<input id='photonumb3' type='text' value='003'/> 
...

还有一个<input id="totalphotos" />标签的值为多少<input>那里的元素被创建。

我希望 JavaScript 获取 <input> 的编号那里的元素(可能从“totalnumbers ”中获取值)并获取所有“photonumb* ”的值(我想使用 for() 循环?)。每个元素的每个值都将被分配为新变量,例如:

var photoname1 = 001;
var photoname2 = 002;
var photoname3 = 003;
...

变量总数取决于有多少 <input>那里的元素被创建。

我正在尝试执行建议,例如:

totalphotos = document.getElementById('totalphotos').value;

for (i = 1; i <= totalphotos.length; i++) { 
    window[photoname + i] = document.getElementById('photonumb' + i).value;
}

但这对我没有帮助,它只是不会创建新变量,如果我这样做 console.log(photoname1);例如。

有人给我建议吗?预先感谢您!

-----编辑--- 嘿@Quentin,为什么标记为重复?也许问题的想法可能相似,但我以完全不同的方式问它,所以即使我正在寻找的答案也是不同的。而且,我以前见过这个问题,我无法完全理解它是如何工作的。因此,对于像我这样的其他初学者来说,这个问题可能更有用。谢谢。

最佳答案

window['here'] 变量未“命名”。

totalphotos = document.getElementById('totalphotos').value;

for (i = 1; i <= totalphotos.length; i++) { 
    window['photoname' + i] = document.getElementById('photonumb' + i).value;
}

还要注意,脚本会立即执行,因此您必须将脚本放在 HTML 的末尾。

关于javascript - 使用 for 循环的动态 JavaScript 变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27422352/

相关文章:

html - 如何将框中的图像准确居中对齐(垂直和水平)

php - 如何在每次执行mysql查询时添加新的html表行

javascript - 在我的代码中,我可以使用向上和向下箭头键,但由于某种原因,左右似乎不起作用

bash - bash中字符串的长度

javascript - 循环浏览系列中的所有产品 |商城

javascript - 是否可以使用 javascript 测试用户的浏览器/操作系统是否支持给定类型的链接?

c++ - 在 C++ 中,我无法选择特定变量用于用户输入

c++ - 什么情况下可以在定义中使用extern变量?

javascript - 基本 Window.alert 功能在 Meteor 中不起作用

javascript - 无法根据 Thymeleaf 变量执行脚本 &lt;script th :inline ="javascript">