点击事件生成行时,如何获取里面select option中的数组值?我试过了,该行已生成,但选项为空白。 var 选项中的数组值。 jush 推送相同的数据 10 次。我是否以正确的方式使用 forEach 循环? 请帮忙。
$('#click').click(function() {
$("#table tbody tr").remove();
var r = 10;
var option = [];
for (var i = 1; i <= 10; i++) {
option.push("<option>selectme</option>");
}
console.log(option);
// for (var i = 1; i <= 10; i++) {
var td = "<tr><td>number</td><td>name</td><td><select>" +
option.forEach(function(e) { e; }); +
"</select></td></tr>";
$("#table tbody").append(td);
// }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table" border="solid">
<thead>
<tr>
<td>s.no.</td>
<td>name</td>
<td>class</td>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>name2</td>
<td>option</td>
</tr>
</tbody>
</table>
<button id="click">click</button>
最佳答案
没有。你用过forEach错误的方式,因为 forEach
总是返回 undefined
。在这种情况下,您应该使用 reduce ,像这样:
<script type="text/javascript">
$('#click').click(function () {
$("#table tbody tr").remove();
var r = 10;
var option = [];
for (var i = 1; i <= 10; i++) {
option.push("<option>selectme</option>");
}
console.log(option);
// for (var i = 1; i <= 10; i++) {
var td = "<tr><td>number</td><td>name</td><td><select>" +
option.reduce((acc, cur) =>
acc + cur
);
+"</select></td></tr>";
$("#table tbody").append(td);
// }
})
</script>
关于javascript - 当单击事件生成行时,如何在 <td> 中的选择选项中获取数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50786460/