【问题标题】:Sending JSON Objects in DataTables aaData instead of arrays在 DataTables aaData 中发送 JSON 对象而不是数组
【发布时间】:2012-12-19 02:07:51
【问题描述】:

我在我的应用程序中使用 jquery DataTables 插件,到目前为止,我对该功能感到非常满意,尽管我想将数据传递给 aaData 属性,但略有不同。

目前它似乎只接受 javascript 数组作为

 [
    ['value','value','value'],
    ...,
    ...,
]

我希望能够使用对象而不是数组,因为它会更干净,并帮助我扩展一些我正在做的更容易的过滤。我怎样才能向它传递一个看起来像这样的 javascript 变量(不通过 AJAX 加载)。

[
   {'id':1,'status':0,'name': 'hello world'},
   ...,
   ...,
]

尝试将 sAjaxSource 与局部变量一起使用的示例 http://live.datatables.net/utecax/edit#

尝试将对象数组与 aaData 一起使用的示例 http://live.datatables.net/iyavud/5/edit

【问题讨论】:

  • 是的,我遇到的问题是我没有通过外部源加载。数据只是一个javascript变量,然后“sAjaxSource”抱怨
  • 您是否尝试过使用aaData 而不是sAjaxSource?.. 然后按照示例定义您的列?
  • 是的,我只能让 aaData 获取一个数组数组,这在引用它时有点笨拙,尤其是当我使用插件过滤和设置表之间不同的预期列时.将在几秒钟内更新实时示例。
  • 在这里使用 aaData 可以正常工作。您只是在列中设置了错误的属性live.datatables.net/iyavud/6/edit

标签: javascript jquery datatables


【解决方案1】:

您可以通过 aaData 属性传入对象数组,然后使用 aoColumns 属性定义哪个列应该接收哪些数据

  $('#example').dataTable({
        "bProcessing": true,
        "aaData": data,// <-- your array of objects
        "aoColumns": [
            { "mData": "render_engine" }, // <-- which values to use inside object
            { "mData": "browser" },
            { "mData": "platform" },
            { "mData": "enging_version" },
            { "mData": "css_grade" }
        ]
  });

【讨论】:

  • 解决方案工作正常,但提供的链接与问题无关。
  • 在datatables.net 1.10.12的新版本中,aaData变成dataaoColumns变成columns;更新的解决方案可以在JSFiddle 找到
猜你喜欢
  • 2021-03-16
  • 1970-01-01
  • 2019-09-05
  • 2018-09-28
  • 2017-12-16
  • 2020-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多