【问题标题】:render datatables columns fetched via ajax渲染通过 ajax 获取的数据表列
【发布时间】:2017-02-25 19:09:03
【问题描述】:

我通过 ajax 使用数据表并像这样显示表格

var table = $('#data').DataTable( {
        "ajax": "initTable.php",
        "columns": [
            { "data": "orderid" },
            { "data": "first_name"},
            { "data": "last_name"},
            { "data": "unix" },
            { "data": "final_total" }
        ]
    } );

我试过了

{ "data": "first_name" + "data": "last_name"},

但是我得到一个错误并且表格没有显示。那么如何更改渲染以在同一单元格中的 last_name 旁边显示名字而不是在下一个单元格中

[更新]

试过

"ajax": "initTable.php",
"columns": [
            { "data": "orderid" },
            { "data": "first_name"},
            {"data": "last_name"},
            { "data": "unix" },
            { "data": "final_total" }
        ],
        "columnDefs": [
            {
                "render": function ( data, type, row ) {
                    return data + row[2];
                },
                "targets": 1
            },
            { "visible": false,  "targets": [ 2 ] }
        ]

(注意:我必须定义列行,因为我有很多列(大约 20 列)并且只想显示 4 或 5) 但我得到的名字后跟“未定义”类似“安迪未定义”

【问题讨论】:

标签: php jquery ajax datatables


【解决方案1】:

使用下面的代码:

{
    "render": function ( data, type, row ){
        return row["first_name"] + " " + row["last_name"];
    },
    "targets": 1
},

如果您要隐藏它,也无需包含 last_name 列。

【讨论】:

  • 非常感谢。并使用: { "visible": false, "targets": [ 2 ] } 隐藏姓氏字段。
  • @PHPUser,正如我所说,您不必在表中包含 last_name 字段,并且可以删除 {"data": "last_name"} 和 ` { "visible": false, "targets": [ 2 ] }` 只要 last_name 在 Ajax 响应中可用。
猜你喜欢
  • 2021-03-04
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 2022-12-09
相关资源
最近更新 更多