js 以显示 JSON 文件。我提取我的列的名称并构建一个这样的数组:
columns = ["Date", "C2R", "CM", "Total"]
我的 sTitle 和 mData 具有相同的名称,所以我尝试这样做但失败了。
jQuery('#result_example').dataTable( {
"data": result_table,
"columns": [
jQuery.each(columns, function(i, value){
//console.log(value); which give ["Date", "C2R", "CM", "Total"]
{ "sTitle": + value + , "mData": + value + },
})
],
paging: true,
searching: false,
"bInfo" : false
} );
目标是得到这样的结果:
jQuery('#result_example').dataTable( {
"data": result_table,
"columns": [
{ "sTitle": "Date" , "mData": "Date" },
{ "sTitle": "C2R" , "mData": "C2R" },
{ "sTitle": "CM" , "mData": "CM" },
{ "sTitle": "Total" , "mData": "Total" }
],
paging: true,
searching: false,
"bInfo" : false
} );
您可以在
外部构建一个对象,然后在内部使用它dataTable
var clmns = [];
jQuery.each(columns, function(i, value) {
clmns.push({ "sTitle": value, "mData": value}); // push it in
});
jQuery('#result_example').dataTable({
"data": result_table,
"columns": clmns, // use it here
paging: true,
searching: false,
"bInfo": false
});
问题:
当你执行你的数据表代码时,它不会得到列名,因为你稍后会提取它,但此时数据表代码已经执行,所以你可以做的是jQuery.map()
创建一个数组,里面填充了columns
数组每次迭代的对象:
var colData = $.map(columns, function(colName) { // creates an array
return { "sTitle": colName, "mData": colName};// fills with js objects
});
jQuery('#result_example').dataTable( {
"data": result_table,
"columns":colData, //<---------you can pass it here.
// other code as is
});