只想在这里确认一下。是否可以直接使用jqGrid的userData和javascript类型(而不是使用带字段的对象)?
如果我修改了jqGrid文档中的example,我想将这个json返回给jqGrid:
{
total: "xxx",
page: "yyy",
records: "zzz",
userdata: 0,
rows : [
{id:"1", cell:["cell11", "cell12", "cell13"]},
{id:"2", cell:["cell21", "cell22", "cell23"]},
...
]
}
并让jQuery("grid_id").jqGrid('getGridParam', 'userData')
返回0
。
目前似乎返回一个空对象{ }
。
我使用jqGrid 4.4.1。
答案 0 :(得分:1)
userdata
部分应为 object 。如果你需要返回userdata
内的标量,你应该使用像
"userdata": { mycounter: 0 }
然后使用
var userdata = $("#grid_id").jqGrid("getGridParam", "userData");
if (userdata) {
alert(userdata.mycounter);
}
答案 1 :(得分:0)
好的,经过一番探索,似乎问题是值为0.其他值(我试过1)回来很好,但是当它为0时,我得到{}。
我还尝试更改阅读器以使用函数而不是字段名称:
jsonReader: {
...
userdata: function(json) { return json.response.userdata; },
...
}
但行为完全相同:{}当值为0时,1为1时。
我也更新到4.4.4,但它没有改变它。
我不知道这是否有资格作为错误或未记录的限制,但我会返回一个带有数字字段而不是数值本身的对象,它将解决问题。