【问题标题】:jQuery DataTables loading a client-side array of objectsjQuery DataTables 加载客户端对象数组
【发布时间】:2011-07-05 21:58:44
【问题描述】:

我正在使用 jQuery 中的 .data() 函数将从服务器返回的一组记录附加到我页面上的 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 行的数据源中请求未知参数“`Field1”。是否可以通过这种方式将数据加载到数据表中?

更新:

这是结果对象数组的示例

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.

【问题讨论】:

  • 你能把'results'的内容贴出来吗?
  • 嗨 Adam,刚刚发布了结果对象数组的代码 sn-p。
  • DataTables 博客对此有一个post。你用的是1.8吗?这在早期版本中肯定行不通。

标签: javascript jquery datatables


【解决方案1】:

DataTables 的开发人员 Allan 能够在 DataTables forum 的以下帖子中回答我的问题。万一链接不起作用,问题原来是一个简单的语法错误。

必须是"aaData": results,,而不是"aaData": [ results ],

感谢艾伦的帮助。

【讨论】:

    【解决方案2】:

    嗯,aaData(顾名思义,使用hungarian notation)需要一个数组数组,所以如果你为他获取一个对象数组,这就是它抱怨的原因。

    【讨论】:

      【解决方案3】:

      将以下内容添加到您的定义中:

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

      您应该将表格列与 columns 数组匹配。

      就是这样!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-22
        • 2017-05-31
        • 2012-03-26
        相关资源
        最近更新 更多