我正在使用jQuery DataTables来显示来自JSON编码的PHP响应的信息。JSON响应包含对象“name”。 “name”包含“Full Name”,“Last Name”和“ID”。我一直在使用
在下面的代码中,示例1可以正常工作,并将按“Last Name”排序显示“Full Name”。但是,示例2根本不起作用。期望的输出将包含HTML呈现的显示,并按“Last Name”排序。在示例3中,显示呈现出我想要的方式,但排序不正确。
有人知道如何调整示例2以输出我正在寻找的内容(呈现和排序数据)吗?
columns
以我想要的方式显示数据,但是,我遇到了一个无法解决的问题。在下面的代码中,示例1可以正常工作,并将按“Last Name”排序显示“Full Name”。但是,示例2根本不起作用。期望的输出将包含HTML呈现的显示,并按“Last Name”排序。在示例3中,显示呈现出我想要的方式,但排序不正确。
有人知道如何调整示例2以输出我正在寻找的内容(呈现和排序数据)吗?
var oTable = $('#table').DataTable({
'ajax': {
url: 'PHP-file-returns-JSON.php',
type: "POST",
dataSrc: function ( data ) {
return data.cols;
},
data: function(d) {
///send additional values to POST
var frm_data = $('#val1, #val2').serializeArray();
$.each(frm_data, function(key, val) {
d[val.name] = val.value;
});
}
},
'columns':[
// exapmle 1 - works but not rendered with HTML
{ data: {
_: "name.Full Name",
sort: "name.Last Name",
}
},
// example 2 not working at all
{ data: 'name', "render": function ( data, type, row ) {
return '<span id="'+data.ID+'">'+data.Full Name+'</span>';
},
"sort" : "name.Last Name",
},
// example 3 works fine with HTML rendered display but not sorted
{ data: 'name', "render": function ( data, type, row ) {
return '<span id="'+data.ID+'">'+data.Full Name+'</span>';
}
},
]
});
更新:
这里是我正在处理的数据结构的JSFiddle。该工作示例仅按姓氏排序显示全名。 我正在尝试弄清楚如何使显示包含一个带ID作为id属性的span元素。