为什么[对象对象]来自json?

时间:2016-12-27 02:04:43

标签: javascript jquery json datatables

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

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

$.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:

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以在表格填充后添加课程。

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

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

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

您必须链接json数据以填充表格。请记住,数据应该是数组形式的数组。

like,(链接到datasources

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

答案 1 :(得分:0)

className应直接定义为不在对象内的字符串,因此您的代码应如下所示

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