簡體   English   中英

jQuery DataTables 加載客戶端對象數組

[英]jQuery DataTables loading a client-side array of objects

我正在使用 jQuery 中的 the.data() function 將從服務器返回的一組記錄附加到我頁面上的 DOM 元素。 記錄存儲為對象數組。 代碼如下:

    //Attached returned data to an HTML table element
    $('#measTable').data('resultSet', resultSet);

    //Get stored data from HTML table element
var results = $('#measTable').data('resultSet');

//Construct the measurement table
data_table = $('#measTable').dataTable({
    "bJQueryUI": true,
    "sPaginationType": "full_numbers",
    "bProcessing": true,
    "bDeferRender": true,
    "aaData": [ results ],
    "aoColumns": [
                { "mDataProp": "Field1" },
                { "mDataProp": "Field2" },
                { "mDataProp": "Field3" },
                { "mDataProp": "Field4" }
            ]
});

然后我從元素中獲取數據並繼續將其加載到數據表中。 但這似乎不起作用,並且總是從第 0 行的數據源返回錯誤 Requested unknown parameter "`Field1" 是否可以以這種方式將數據加載到數據表中?

更新:

這是 object 數組的結果示例

results = 
    0: Object
       Field1: "2011/04/23"
       Field2: 8
       Field3: "Hello"
       Field4: "World"
       __proto__: Object
    1: Object
       Field1: "2011/03/25"
       Field2: 6
       Field3: "Hello"
       Field4: "Everyone"
       __proto__: Object
...etc.

DataTables 的開發人員 Allan 能夠在 DataTables論壇的以下帖子中回答我的問題。 萬一鏈接不起作用,問題就變成了一個簡單的語法錯誤。

而不是"aaData": [ results ],它需要是"aaData": results,

謝謝你的幫助艾倫。

好吧,aaData(顧名思義,使用匈牙利表示法)需要一個 arrays 數組,所以如果你給他取一個對象數組,這就是它抱怨的原因。

將以下內容添加到您的定義中:

$('#measTable').dataTable({
    ...
    "columns": [
        { "data": "field1" },
        { "data": "field2" },
        { "data": "field3" }
    ]
});

您應該將表列與數組匹配。

而已!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM