jQuery Datatable重新加载数据 - json到列

时间:2016-07-20 21:31:00

标签: javascript jquery json datatables

我有第一次服务器端呈现的表。我希望在表中单击事件刷新数据。
问题是如何将特定的json对象属性“绑定”到特定列。我收到了带有对象数组的json对象,其中只有一些属性很有趣。
我想要 表格列 - json对象属性

 ID - id
 姓名 - 姓名+姓氏  合作 - scCooperationCollection
 技能 - scSkillsCollection
 经验 - 工作经验

HTML表格:http://pastebin.com/b5yRWsGe
JS重新加载表:http://pastebin.com/GzS8tpV6
JSON示例:http://pastebin.com/AyBSrSui

2 个答案:

答案 0 :(得分:1)

有关如何将源数据绑定到表列或为单元格生成自定义内容,请参阅columns.datacolumns.render选项。

您可以使用columns.data中的点分表示法访问源数据属性,甚至可以使用[]表示法连接数组。对于更复杂的数据呈现,例如加入两个字段,请改用columns.render

例如:

var table = $('#example').DataTable({
    ajax: {
       url: 'https://api.myjson.com/bins/3x4ql',
       dataSrc: 'aaData'
    },
    columns: [
        { data: "id" },
        { 
            data: null, 
            render: function(data, type, full, meta){
               return full['name'] + ' ' + full['surname'];
            }
        },
        { data: "scCooperationCollection[,].scFields.name" },
        { data: "scSkillsCollection[,].scFields.name" },
        { data: "workExperience" }
    ]        
});

请参阅this jsFiddle以获取代码和演示。

答案 1 :(得分:0)

您可以浏览返回的json对象中的所需属性,并将其绑定到您的表格,如下所示:

table.on( 'xhr', function () {
    var json = table.ajax.json();
    var obj = JSON.parse(json)
    var tableJson = {"ID":obj.aaData[0].id};
    console.log(json);
} );