我正在使用 jQuery DataTables 显示来自 JSON 编码的 PHP 响应的信息。 JSON 响应包含对象“名称”。 “姓名”包含“全名”、“姓氏”、“ID”。我一直在使用columns
以我想要的方式显示数据,但是我遇到了一个我无法弄清楚的问题。
在下面的代码中,示例 1 工作正常,并且在按“姓氏”排序时会显示“全名”。然而,示例 2 根本不起作用。所需的输出将包含 HTML 渲染显示并按“姓氏”排序。在示例 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>';
}
},
]
});
UPDATE:
HERE是 JSFiddle,它显示了我正在使用的数据结构。工作示例仅显示按姓氏排序的全名。我试图弄清楚如何使显示包含一个以 ID 作为 id 属性的 span 元素。