2012-03-13 29 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