[英]jqgrid dropdowns pass value of another column
我正在使用jqGrid
使用JSP
和Servlet
以表格格式顯示數據。
我有兩個依賴的下拉列表顯示。
以下是相關代碼:
colNames:['User ID', 'Name','State','City'],
colModel:[
{name:'USERID',index:'USERID',....},
{name:'NAME',index:'NAME',....},
{
name:'STATE',
index:'STATE',
width:125,
sortable:true,
edittype:"select",
editoptions: {
maxlength: 15,
dataUrl: 'MYServlet?action=getState',
dataEvents :[{
type: 'change',
fn: function(e) {
var thisval = $(e.target).val();
$.post('MyServlet?action=getCity='+thisval,
function(data){
var res = $(data).html();
$("#STATE").html(res);
});
}
}]
}
},
{
name:'CITY',
index:'CITY',
width:125,
sortable:true,
editable:true,
edittype:"select",
editoptions:{maxlength: 50 , value: 'Select:Select'}
}
],
上面的代碼對於依賴下拉菜單工作正常。 現在我想通過USERID
與datUrl
在editoptions
的STATE
欄。 喜歡
dataUrl: 'MYServlet?action=getState&userid='+userid
但是我無法在dataUrl
獲取USERID
。
因此,任何建議將不勝感激。
我建議了dataUrl
一些擴展,這些擴展現在是jqGrid的一部分。 它的使用postData
財產editoption
定義功能(參見答案 )或使用的dataUrl
直接作為功能(見這里和這里 )。 第一個功能包含在jqGrid 4.4.2中,但是第二個功能包含在 4.5.2發布之后。 因此,我建議您使用postData
作為函數。
您需要做的是將postData
屬性添加到editoptions
中STATE
列的editoptions
editoptions: {
dataUrl: "MYServlet",
postData: function (rowid) {
return {
action: "getState",
userid: $(this).jqGrid("getCell", rowid, "USERID")
};
}
}
如果USERID
列的值是唯一的,並且您使用key: true
則rowid已經與USERID
列的值相同。 在這種情況下,您可以簡化上面的代碼並直接使用rowid
代替$(this).jqGrid("getCell", rowid, "USERID")
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.