Javascript getElementById 基于使用固定名称和输入数字形成的 ID

标签 javascript html

我正在尝试在 HTML 对象中动态创建 ID,并在我的 javascript 中使用 getElementById() 来根据我单击的按钮访问 HTML 输入值,并将其插入到各自的 HTML 选择列表中。

我的 HTML 片段:

<input type="text" id="addDesc1"><input type="button" value="Add" onclick="addDescText(1)"> 
<input type="text" id="addDesc2"><input type="button" value="Add" onclick="addDescText(2)">
....
....
<select id="desc1">....</select>
<select id="desc2">....</select> 

我的 javascript 片段:

function addDescText(id) {
    var descText = document.getElementById("addDesc".concat(id)).value;
    var selList = document.getElementById("desc".concat(id));
    ....
    ....
    some javascript to add the respective description to their respective select list
    ....
}

最佳答案

concat()是一个数组方法,你不能在字符串上使用它。只需使用 + 将参数与字符串连接起来。

演示:

function addDescText(id) {
  var descText = document.getElementById("addDesc"+id).value;
  var selList = document.getElementById("desc"+id);

  console.log(descText);
  console.log(selList);
}
<input type="text" id="addDesc1"><input type="button" value="Add" onclick="addDescText(1)"> 
<input type="text" id="addDesc2"><input type="button" value="Add" onclick="addDescText(2)">

<select id="desc1">....</select>
<select id="desc2">....</select>

关于Javascript getElementById 基于使用固定名称和输入数字形成的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59269552/

相关文章:

html - 为什么将文本添加到显示 : inline-block div breaks the whole layout?

javascript - 复选框选择时的表单重定向

javascript - 字母数字和特殊字符的正则表达式

javascript - cucumber.js 的代码覆盖率?

javascript - Jira 问题收集器代码在嵌入 html 中时有效,但在单独的 javascript 文件中无效

javascript - 使用 Javascript 计算元素数量

javascript - 项目的可嵌套列表高度相等

html - CSS 流体图像问题

html - 如何使用 HTML 和 CSS 在 Blackberry OS6 Torch 设备中提供背景图像以覆盖整个页面

javascript - 限制用户只能点击标签一次