基本上问题是我在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$();
}
});
});
});
答案 0 :(得分:0)
您可能想要查看JQuery .each
函数。您可能需要执行以下操作:$(result).each(function(i,obj) {//code here});
其中i
是数组中的位置,obj
是结果中的当前记录。