0
我正在写一些代码来生成数据网格形式JSON数据。我知道有多个免费库可用于做同样的事情。 下面是我的一段代码动态访问JSON对象没有键
var columnDefs=[
{title:"Sr.No",fieldName:"srno",dataType:"int",isHidden:true},
{title:"Model No.",fieldName:"modelId",dataType:"int"},
{title:"Name",fieldName:"name",dataType:"string"},
{title:"Brand",fieldName:"brandName",dataType:"string"},
{title:"Price",fieldName:"Price",dataType:"double"},
];
var rowData=[
{srno:"P1",modelId:"1",name:"Moto G3",brandName:"Motorola",price:"13000"},
{srno:"P2",modelId:"2",name:"Asus ZenFone 2",brandName:"Asus",price:"13000"},
{srno:"P3",modelId:"3",name:"Lenovo K3 Note",brandName:"Lenovo",price:"9900"},
{srno:"P4",modelId:"4",name:"Moto E2 4g",brandName:"Motorola",price:"6999"},
{srno:"P5",modelId:"5",name:"Nexus 5x",brandName:"LG",price:"24000"},
{srno:"P6",modelId:"6",name:"Apple iPhone 5s",brandName:"Apple",price:"56000"},
];
var gridOptions={
title:"Demo Grid",
columnDefs:columnDefs,
rowData:rowData
};
document.addEventListener("DOMContentLoaded", function() {
debugger;
createDataGrid('#myGrid', gridOptions);
});
//library
function createDataGrid(div,gridDef){
var gridTitle=gridDef.title
var titleDiv='<div>'+gridTitle+'</div>';
$(div).append(titleDiv);
var table="<table id='tab1' border='1'></table>";
$(div).append(table);
$("#tab1").append("<tr id='tbheadres'></tr>");
//render column headers
$.each(gridDef.columnDefs,function(index,value){
var columnName = gridDef.columnDefs[index].title;
var columnHeader="<th>"+columnName+"</th>"
$("#tbheadres").append(columnHeader);
});
$.each(gridDef.rowData,function(i1,val1){
var rowId="row_"+i1;
$("#tab1").append("<tr id="+rowId+"></tr>");
$.each(gridDef.columnDefs,function(index,value){
var field=gridDef.columnDefs[index].fieldName;
var c1=gridDef.rowData[i1].field;
var col="<td>"+c1+"</td>";
$("#"+rowId).append(col);
});
});
}
处理嵌套$。每个之后,它给我什么,但“不确定”,每行每列。我猜在线路上有些问题:
var field=gridDef.columnDefs[index].fieldName;
var c1=gridDef.rowData[i1].field;
我在做什么错?提前致谢。
检查JSON与JSONLint.com;我看到至少你在那里有额外的逗号。 – Sablefoste