我提出了一个关于Bootstrap Tables的问题,但同时由于感觉被阻挡,我搬到了Datatables。然而,我的问题是一样的。
这两者都不能轻易处理嵌套的JSON结果。例如,如果我选择" field:author",它会将以下内容处理为" [Object Object],[Object Object]"。
"author": [
{
"family": "Obama",
"given": "Barack"
},
{
"family": "Obama",
"given": "Michelle"
}
我可以单独选择结果,说" field:author [,] .family",它返回一个类似于"奥巴马,奥巴马和#34;的列表。但我希望输出像#34;给+ family1,给+ family2,.."。
答案 0 :(得分:1)
您可以使用自定义渲染。 DataTables允许您为每列定义自定义呈现。
这是我制定的sample。我正在为作者专栏做自定义渲染。
$(document).ready(function() {
var dataSet = [
{ "name": "How to DataTables", "author": [{ "firstname": "jack", lastname: "d" }, { "firstname": "dick", lastname: "j" }] },
{ "name": "How to Custom Render", "author": [{ "firstname": "bill", lastname: "g" }, { "firstname": "scott", lastname: "g" }] }
];
$('#example').DataTable({
data: dataSet,
columns: [
{ title:"Book Name",
data: "name" },
{
title: "Authors",
data: "author",
render: function(data, type, row) {
//return data.length;
var txt = '';
data.forEach(function(item) {
if (txt.length > 0) {
txt += ', '
}
txt += item.firstname + ' ' + item.lastname;
});
return txt;
}
}
]
});
});