【发布时间】:2012-10-22 06:53:21
【问题描述】:
我正在尝试使用 JQGrid 创建本地表,在我更改数组之前一切正常,这是 Working 代码:
HTML 代码:
<div id=main style="width: 350px; height:200px;background-color:orange;">
<table id="grid"></table>
</div>
JS 代码
$(document).ready(
function()
{
jQuery("#grid").jqGrid({
datatype: 'local',
colNames:["User Name","Meet","Time"],
height:"100%",
autowidth: true,
colModel :[
{name:"name",index:"name"},
{name:"to_meet",index:"to_meet"},
{name:"time",index:"time"}
],
gridview: true,
viewrecords: true });
});
var mydata = [
{name:"test",to_meet:"111",time:"0500"},
{name:"test2",to_meet:"112",time:"0530"},
{name:"test3",to_meet:"113",time:"0600"},
{name:"test4",to_meet:"114",time:"0630"},
{name:"test5",to_meet:"115",time:"0700"},
{name:"test6",to_meet:"116",time:"0730"},
{name:"test7",to_meet:"117",time:"0800"},
{name:"test8",to_meet:"118",time:"0830"},
{name:"test9",to_meet:"119",time:"0900"},
{name:"test10",to_meet:"120",time:"0930"},
{name:"test11",to_meet:"121",time:"1000"},
{name:"test12",to_meet:"122",time:"1030"},
{name:"test13",to_meet:"123",time:"1100"},
{name:"test14",to_meet:"124",time:"1130"},
{name:"test15",to_meet:"125",time:"1200"},
{name:"test16",to_meet:"126",time:"1230"}
];
console.log(mydata.length)
for(var i=0; i<mydata.length;i++)
{
alert(mydata);
jQuery("#grid").jqGrid('addRowData',i+1,mydata[i]); ;
}
您也可以从这里运行它: http://jsfiddle.net/bYQn6/2/
现在,当我将 Obj 数组更改为:
$.each(myarray, function(i, val){
gridi.push('{name:"' + val.Name + '",to_meet:"' + val.meet + '",time:"' + val.time + '"}');
});
var mydata = [gridi.toString()];
打印这个 'mydata' 看起来和上面的 'mydata' 完全一样,但它不起作用:(
我做错了什么??
谢谢!!!
【问题讨论】:
-
你应该 1) 移动
mydata的定义在创建jqGrid; 2) 为mydata的每个元素添加id属性; 3) 将data: mydata选项添加到jqGrid。 4) 你应该删除你调用addRowData的循环。顺便说一句,如果您的数据没有本机id,我建议您通过调用函数$.jgrid.randId()来初始化项目的id属性。以这种方式,网格的行肯定会获得 unique 值,即使页面上有多个网格也是如此。
标签: jquery jqgrid arrayobject