2015-12-09 26 views
1

本質上,問題是我的DataTable中出現重複結果。使用JavaScript遍歷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

您可能想查看JQuery .each函數。您可能需要執行如下操作:$(result).each(function(i,obj) {//code here});其中i是陣列中的位置,obj是結果中的當前記錄。