【问题标题】:why [object object] result from json?为什么 [object object] 来自 json?
【发布时间】:2016-12-27 02:04:43
【问题描述】:

我正在使用数据表插件,我需要用 ajax 重新填充表格。

所以我用从 ajax 文件(以 json 形式)返回的数据填充表格列,如代码所示

$.get(select.data('url'), {article_category:select.val()}, function (data) {
        if (data.error) {
            alert(data.error);
        }else{
            var result = data.articles;
            table = $('#datatable').DataTable( {
            destroy: true,
            data: result,
            columns: [
              { data: 'id' },
              { data: 'article_code' },
              { data: 'article_name' },
              { 
                  data: 'article_amount',
                  className: {data: 'back'} 
              },
              { data: 'return_amount' },
              { data: 'article_price_ht' },
              { data: 'article_price_ttc' },
              { }
            ]
      });
  }
},'json');

我的问题是,当我在 chrome 中运行调试模式时,表中填充了除 className 之外的数据,我有这个

<td class=" [object Object]">500</td>

className的代码应该怎么写??

编辑: 这就是我的 json 的样子:

【问题讨论】:

  • 你的 JSON 是什么样子的?
  • 阅读文档...className 需要返回一个字符串。你想在那里做什么?
  • 哦,您想将类添加到特定行吗?我用细胞来回答
  • else 里面的变量data 是在哪里使用的,result 是什么
  • 如果你想要基于数据值的不同类,在数据和单元格元素被暴露的渲染函数中进行

标签: javascript jquery json datatables


【解决方案1】:

你可以在表格填充之后添加类。

$('#example').dataTable( {
  "columnDefs": [
    { className: "my_class", "targets": [ 0 ] }
  ]
} );

您正在将类 my_class 添加到列索引 - 0 或第一列。

$('#example').dataTable( {
      "columnDefs": [
        { className: "my_class", "targets": [ 0 ] },
        { className: "my_class_1", "targets": [ 1 ] } //2nd column
      ]
    } );

你必须链接 json 数据来填充表格。记住数据应该是数组形式的数组。

赞,(链接到datasources

  {data:
    [  
        [a,b,c],
        [d,e,f]
     ]
    }

【讨论】:

  • 我有 2 个类,但我不知道使用哪个类我需要先做一些数学运算以确定应该存在哪个类,这就是为什么我使用 json 传递 'back' 属性
  • @IBMdig.: 处理完以后还是可以添加的……还是一样的。
  • 但是您必须将要填充表格的数据格式更改为数组数组。检查链接。
  • 非常感谢
【解决方案2】:

className 应该直接定义为不在对象内部的字符串,所以你的代码应该如下

columns: [
          ....
          { 
              data: 'article_amount',
              className: 'back', 
          },
          ....
        ]

【讨论】:

    猜你喜欢
    • 2016-06-16
    • 2019-03-27
    • 1970-01-01
    • 2015-07-03
    • 2013-10-20
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多