本质上,问题是我在 DataTable 中得到了重复的结果。
在我的应用程序中,用户将输入一个值,该值将从数据库返回一个对象数组,然后这些记录将填充到 DataTable 中。目前我遇到的问题是表中的所有记录都是相同的。
DataTable 中应该有 100 条不同的记录,而不是 100 条完全相同的记录。我没有看到任何示例说明如何遍历数据库中的对象数组,以一种可以由 DataTable 处理的方式。
我应该可以使用 rows.add()但是表中没有显示任何内容,我看到的另一个选项是 rows().every()它没有类似于我正在做的例子。
任何引用资料、资源或见解都会非常有帮助。谢谢!
用户输入:
<p> Year: <input id="YearNbrId" type="text" th:field="*{YearNbr}" /> </p>
按钮:
<input type="button" value="Locate" id="goToDetails" />
JavaScript 代码段:
$(document).ready(function() {
var table = $('#Orders').DataTable();
$('#goToDetails').on('click', function() {
var YearNbr = $('#YearNbrId').val();
var url = './eData/locate?YearNbr=' + YearNbr;
$.get(url, function(result) {
console.log(result);
for (var i = 0; i < result.length; i++) {
var myOrder = result[i];
table.row.add([
null, // place holder
myOrder.yearNbr,
myOrder.orderNm,
'<input>', // user input
myOrder.model,
new Date(myOrder.Date).toJSON().slice(0, 10),
myOrder.srcCode,
null,
'<input>'
]).draw(false)
.nodes()
.to$();
}
});
});
});
最佳答案
您可能想查看 JQuery .each
函数。您可能需要执行如下操作:$(result).each(function(i,obj) {//code here});
其中 i
是array 和 obj
是结果中的当前记录。
关于javascript - 使用 JavaScript 遍历数据表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34184203/