【问题标题】:How to display json array in one column in Datatable?如何在 Datatable 的一列中显示 json 数组?
【发布时间】:2019-06-02 11:16:58
【问题描述】:

下面是我试图在数据表中显示的数据。如您所见, permitbrands 是一个 json 数组,我想在一列中显示它。如果它是 json 对象,它会更容易,但这是 json 数组。

 {
 id: 1,
 total_cases: 13,
 permitbrands: [
       {
         id: 1,
         br_name: "Apple",
         br_no: "12",
         permit_id: 1,
       },
       {
         id: 2,
         br_name: "Mango",
         br_no: "36", 
         permit_id: 1,
        }
  ],
}

以下是我的数据表列代码:

$(document).ready( function () {
    table = $('.table').DataTable({
        processing: true,
        serverSide: true,
        paging:true,
        ajax : '/permits/search',
        columns: [
               { data: 'total_cases', name: 'total_cases'},
               {
                data: 'permitbrands[,].br_name',
               },
        ],
    });

});

但显示的结果是 Apple,Mango。

我想将列中的值显示为 Apple 12 , Mango 36。

如何做到这一点?谁能给我一个解决方案。?

我尝试循环它,但它循环了两次。

   {
    data: 'permitbrands[]',
          render: function ( data , row ) {
                  var output='';
                   $.each(data, function(index,item) {
                    alert(index);
                    output+= data[index].br_no+' '+data[index].br_name;
                  });
                 return output;
               }
    },

我得到的结果是这样的:

12 12 Apple , 36 36 Mango.

我不知道为什么会这样。但是循环显示我警报 4 次而不是 2 次。

【问题讨论】:

  • 您的代码有效fine here ...
  • 但是我知道为什么但是...警报显示 4 次 .. 应该只调用 2 次。
  • type参数,这就是为什么渲染回调被调用了4次。
  • 你能给我看看样品吗?
  • render: function ( data ,type, row ){ return type; } ,我这样传递类型,它返回“display”作为值。我该怎么办?

标签: jquery arrays laravel-5 datatable


【解决方案1】:

也许您应该尝试检查在函数中循环的 JSON 数据。 您的代码没有其他原因无法正常工作。 请仔细检查您的数据,也许“12 Apple”或“36 Mango”可能来自表格的一个字段。

【讨论】:

    猜你喜欢
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 2020-05-12
    • 2020-02-17
    • 2015-09-25
    • 1970-01-01
    相关资源
    最近更新 更多