我已经能够将 JSON 数据(本地文件)显示到表中的每一行中,并且当选中数据的相应复选框时,我想将这些选定的值推送到数组中。最终目标是在 div 中显示数组,但直到我能够看到数组正在填充为止。
JS 片段:
($("#km-table-id tbody tr")).append($("<input />", {"type": "checkbox"}).addClass("checkbox-class"));
let table = $("#km-table-id").DataTable();
let favesArr = [];
$(".checkbox-class").on("click", "tr", function() {
let data = table.row(this).data();
for (var i = 0; i < favesArr.length; i++) {
favesArr.push($(data).text());
$("#myFave.hs-gc-header").append(favesArr[i]);
}
console.log(data); // this was showing the selected data a short time ago, but not anymore
});
console.log(favesArr); // only showing empty
最佳答案
首先,最后一行将始终打印一个空数组,因为您只是将其填充到事件处理程序中。
其次,您正在使用i < favesArr.length
作为你的循环条件。 favesArr
如果没有填写代码的其他部分,这里还是空的。因此循环体永远不会被执行。您可能想要data.length
在这里。
最后但并非最不重要的一点是,您可能只想推送 data[i]
而不是整个数组进入你的 favesArray
.
关于javascript - 数据没有被推送到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54371736/