2012-03-13 47 views
1

我试图访问userdata我已经从服务器发送(使用ColdFusion的)过滤显示的编辑或添加图标取决于用户的角色。用户数据值的示例是“全部”或“添加”或“编辑”或“查看”。Jqgrid与jsonreader在萤火虫userdata响应是undefined

From firebug an example of userdata looks like 
,"USERDATA":"all" 

的jsonreader看起来像这样

jsonReader: { 
    root: "ROWS", //our data 
       page: "PAGE", //current page 
       total: "TOTAL", //total pages 
       records:"RECORDS", //total records 
    userdata: "USERDATA", 
       cell: "", //Not Used 
    ar_bill_key: "0",//Will default to first column 
    id:"10" 
     }, 

我试图找到用户数据,所以我可以弄清楚如何使用它。下面的代码在firebug中返回undefined。我是新手,因此没有正确设置。任何意见,将不胜感激。我已经看过并尝试了很多例子,但它不工作尚未

loadComplete:jQuery("#List").getGridParam("userdata") 

    alert("userdata") 

感谢

回答

1

你有一些错误。第一个是:参数的名称是'userData'而不是'userdata'。因此,要获得该值从服务器发送给您应该使用

var myData = $("#List").jqGrid('getGridParam', "userData"); 

下一个错误:loadComplete是一个回调函数所以代码

loadComplete:jQuery("#List").getGridParam("userdata") 

是错误的。

最后一个错误是:将从服务器发送的值userdata必须是对象。所以,你应该把类似

"USERDATA":{"status":"all"} 

代替或

"USERDATA":{"status":"all"} 

如果使用

jsonReader: { 
    ... 
    userdata: "USERDATA", 
    ... 
} 

那么你可以像下面从loadComplete显示值:

loadComplete: function() { 
    var myData = $(this).jqGrid('getGridParam', "userData"); 
    alert(myData.status); 
} 
+0

非常感谢! – Sue 2012-03-16 19:26:34

+0

@苏:不客气! – Oleg 2012-03-16 19:40:26