使用 JavaScript 遍历数据表中的行

Iterating through rows in DataTables using JavaScript

问题的本质是我的 DataTable 中出现了重复的结果。

在我的应用程序中,用户将输入一个值,该值将 return 数据库中的对象数组,然后这些记录将填充到 DataTable 中。目前我遇到的问题是 table 中的所有记录都是相同的。

DataTable 中应该有 100 条不同的记录,而不是 100 条完全相同的记录。我没有看到任何示例说明如何遍历数组数据库中的对象,以一种可以由 DataTable 处理的方式。

我应该可以使用 rows.add() but that does not have anything displaying in the table and the other option I saw was 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 是数组中的位置,obj 是结果中的当前记录。