Javascript 如何在datatable中循环数组
我试图用javascript呈现一个表,如下所示:Javascript 如何在datatable中循环数组,javascript,jquery,html,datatables,Javascript,Jquery,Html,Datatables,我试图用javascript呈现一个表,如下所示: $('#serviceTable').DataTable({ responsive: true, aaData: services, bJQueryUI: true, aoColumns: [ { mData: 'service_name' }, { mData: 'last_incide
$('#serviceTable').DataTable({
responsive: true,
aaData: services,
bJQueryUI: true,
aoColumns: [
{ mData: 'service_name' },
{ mData: 'last_incident' },
{ mData: 'integration' }
]
});
现在,integration
字段基本上是一个json对象数组,如下所示
[{"name":"abc","key":"123"},{"name":"xyz","key":"1234"}]
以下是表格定义:
<table id="serviceTable" class="table table-bordered table-striped">
<thead>
<tr>
<th data-field="service_name" data-formatter="LinkFormatter">Service</th>
<th data-field="last_incident">Last Incident</th>
<th data-field="integration">Integration</th>
</tr>
</thead>
</table>
服务
最后一件事
整合
因此,在UI上,我可以在“集成”列中看到
[object object],[object object]
。我们如何在json数组上循环以显示列中的name
字段您必须用javascript创建如下表
var rows = [{"name":"abc","key":"123"},{"name":"xyz","key":"1234"}]
var html = "<table border='1|1'>";
for (var i = 0; i < rows.length; i++) {
html+="<tr>";
html+="<td>"+rows[i].name+"</td>";
html+="<td>"+rows[i].key+"</td>";
html+="</tr>";
}
html+="</table>";
$("div").html(html);
var rows=[{“name”:“abc”,“key”:“123”},{“name”:“xyz”,“key”:“1234”}]
var html=“”;
对于(变量i=0;i
使用渲染
,如下所示
{ mData: 'integration',
"render": function(value, type, row, meta){
var output="";
for(var i=0;i<value.length;i++){
output += value[i].name ;
if(i< value.length-1){
output +=", ";
}
}
return output;
}
{mData:“集成”,
“呈现”:函数(值、类型、行、元){
var输出=”;
对于(var i=0;i基本上,您需要再次使用render
选项
var服务=[
{
“服务id”:“1”,
“服务名称”:“服务1”,
“最后一次事件”:“l_i1”,
“集成”:[{“名称”:“abc”,“键”:“123”},
{“名称”:“xyz”,“键”:“1234”}]
},
{
“服务id”:“2”,
“服务名称”:“服务2”,
“最后一次事件”:“l_i2”,
“集成”:[{“名称”:“abc”,“键”:“123”},
{“名称”:“xyz”,“键”:“1234”}]
}
];
$('#serviceTable')。数据表({
回答:是的,
aaData:服务,
bJQueryUI:是的,
AO列:[
{
mData:“服务名称”,
“呈现”:函数(值、类型、行){
返回“”;
}
},
{mData:'上次事件'},
{mData:'集成',
呈现:函数(值、类型、行){
var-val=[];
$。每个(值、函数(i、v){
val.push(v['name']);
})
返回val;
}
}
]
});
您希望在Column中使用abc