我正在尝试select
在列表中动态创建,我有 a 中的值array
。
var ruits = ["Banana", "Orange", "Apple", "Mango"];
function AddItem() {
var tbody = null;
var tabla = document.getElementById("tabla");
var nodes = tabla.childNodes;
for (var x = 0; x<nodes.length;x++) {
if (nodes[x].nodeName == 'TBODY') {
tbody = nodes[x];
break;
}
}
if (tbody != null) {
var tr = document.createElement('tr');
tr.innerHTML = `<td>
<select>
<option>Seleccionar</option>
</select>
</td>`;
tbody.appendChild(tr);
}
}
<form>
<table id="tabla">
<thead>
<tr>
<th>Select</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<button type="button" onClick="AddItem();">Agregar item.</button>
</form>
我的问题是select
动态创建的有数组的值。
我想做的是这样的:
tr.innerHTML = `<td>
<select>
ruits.forEach(function(element) {
<select>${element}</select>
});
</select>
</td>`;
尝试这个:
有一种更简单的方法可以做到这一点:
tbody
表的参考select
及其options
读取数组的值与forEach
insertAdjacentHTML
创建新行这是一个更轻松的代码,因为它不会读取 table 的每个元素来确定 table 的元素
tbody
。希望对你有帮助