我有第一次服务器端呈现的表。我希望在表中单击事件刷新数据。
问题是如何将特定的json对象属性“绑定”到特定列。我收到了带有对象数组的json对象,其中只有一些属性很有趣。
我想要
表格列 - json对象属性
ID - id
姓名 - 姓名+姓氏
合作 - scCooperationCollection
技能 - scSkillsCollection
经验 - 工作经验
HTML表格:http://pastebin.com/b5yRWsGe
JS重新加载表:http://pastebin.com/GzS8tpV6
JSON示例:http://pastebin.com/AyBSrSui
答案 0 :(得分:1)
有关如何将源数据绑定到表列或为单元格生成自定义内容,请参阅columns.data
或columns.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);
} );