javascript - 定位多个具有相同 ID 且包含括号的空输入字段
问题描述
我有几个具有以下 ID 的输入字段:
<input type="text" name="numberC[]" id="numberC[]">
<input type="text" name="numberC[]" id="numberC[]">
<input type="text" name="numberC[]" id="numberC[]">
我通过我的 ajax 调用和push()
数组中的某些值获取 JSON 格式的数据。
如何创建一个循环遍历数组,然后将每个值插入上述输入字段之一?
所以假设我有以下数组:
var testArray = ['hi', 'bye', 'stackoverflow'];
我有以下 3 个输入字段:
<input type="text" name="numberC[]" id="numberC[]">
<input type="text" name="numberC[]" id="numberC[]">
<input type="text" name="numberC[]" id="numberC[]">
每当我遍历它时,不幸的是,我在所有输入字段中都获得了最高值。
我尝试在 JavaScript 中遍历我的数组并在每个输入字段中插入每个值。所以testArray[0]
应该进入第一个输入字段,testArray[1]
第二个输入字段和testArray[2]
第三个输入字段。
我使用的来源:当 ID 包含方括号时,按 ID 查找 DOM 元素?
解决方案
id
in dom 始终是唯一的。而不是用于document.querySelectorAll
获取所有具有相同名称的元素,然后遍历它们并使用index
来检查元素是否存在于 的索引中testArray
。如果是这样,则设置输入的值
var testArray = ['hi', 'bye', 'stackoverflow'];
document.querySelectorAll('[name="numberC[]"]').forEach(function(item, index) {
if (testArray[index]) {
item.value = testArray[index]
}
})
<input type="text" name="numberC[]" id="numberC[1]">
<input type="text" name="numberC[]" id="numberC[2]">
<input type="text" name="numberC[]" id="numberC[3]">
推荐阅读
- java - 读取一个文件并检查其他文件中是否存在内容的最佳方法是什么
- gis - BGS/LQM Groundhog - 横截面绘图工具
- python - API 值在范围内吗?
- kubernetes - 使用 Wordpress PVC 的 Kubernetes 获取旧的 Wordpress 文件
- asp.net - Razor 页面中无法识别传递的 IEnumerable(of T) 成员的模型类型
- node.js - Node.js如何将数组索引传递给异步函数
- r - 如何创建一个根据指定字典重命名列名的函数?
- android - 代号一个应用订阅 submitReceipt 未调用
- mysql - Laravel 迁移不兼容的外键
- tomcat - 使用 tomcat-for-java 插件在 vscode 中运行 war 包时发生与 `user.dir` 系统属性异常相关的权限被拒绝