我对js和数据表的整个区域都很陌生。
如何在数据表中表示
var data = {"jaxm":
{
"name": "Tiger Nixon",
"position": "System Architect"
},
"jaxb" :
{
"name": "Garrett Winters",
"position": "Accountant"
}
}
我试过
$(duTable).DataTable({
data: data,
});
不确定这是否可能没有数组但是我甚至无法使用
打印数据表中的单行$(duTable).DataTable({
data: data.jaxm,
});
答案 0 :(得分:3)
你不能(简答)。上面更像是一个哈希表,或者一种关联数组:你有一个带有多个键(而不是索引)的对象,每个键都有一个对象。您需要将此类构造清理为索引数组:
function sanitizeData() {
var d = [];
Object.keys(data).forEach(function(key) {
d.push(data[key]);
});
return d;
}
var table = $('#example').DataTable({
data: sanitizeData(),
// **and** instruct dataTables which object property belongs to which column
columns: [
{ data: 'name' },
{ data: 'position' }
]
})
参见演示 - >的 http://jsfiddle.net/0c52ra0c/ 强>
它基本上只是
的算法版本var table = $('#example').DataTable({
data: [data.jaxm, data.jaxb],
columns: [
{ data: 'name' },
{ data: 'position' }
]
})
也会这样做。因此,您可以使用data: [data.jaxm]
作为最后一次尝试的解决方案"打印单行"。无论哪种方式,您都需要将索引数组传递给dataTables。