Javascript 将附加参数发送到JQgrid上的editurl
我现在的问题是,在编辑某行时,试图发送该行的ID(Javascript 将附加参数发送到JQgrid上的editurl,javascript,jquery,ajax,datagrid,jqgrid,Javascript,Jquery,Ajax,Datagrid,Jqgrid,我现在的问题是,在编辑某行时,试图发送该行的ID(editable:false) 例如,我有一个网格,其中列有userid(可编辑:false)、username(可编辑:true)、firstname(可编辑:true)、lastname(可编辑:true)。编辑行时,网格仅发送参数username、firstname和lastname。在服务器端,我需要userid来知道我将这些新值应用到了哪个用户 editUrl看起来像: editurl : CONTEXT_PATH+'/ajax/adm
editable:false
)
例如,我有一个网格,其中列有userid(可编辑:false
)、username(可编辑:true
)、firstname(可编辑:true
)、lastname(可编辑:true
)。编辑行时,网格仅发送参数username、firstname和lastname。在服务器端,我需要userid来知道我将这些新值应用到了哪个用户
editUrl看起来像:
editurl : CONTEXT_PATH+'/ajax/admin/savePart.do?category=1',
谢谢
这是完整的代码:
$.jgrid.useJSON = true;
//http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3Acommon_rules
$(document).ready(function() {
//alert(CONTEXT_PATH);
var lastsel;
jQuery("#rowed3").jqGrid(
{
url : CONTEXT_PATH+'/ajax/getPartesByCategory.do?catid=<s:property value="categoryId" />',
//url : '/autoWEB/text.html',
datatype: "json",
ajaxGridOptions: { contentType: "application/json" },
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false
},
headertitles: true,
colNames : [ 'ID', 'Pieza', 'Disponible'],
colModel : [ {
name : 'piezaId',
index : 'piezaId',
align : "right",
width : 50,
editable : false,
required : true
}, {
name : 'descripcion',
index : 'descripcion',
width : 390,
editable : true,
required : true
}, {
name : 'disponible',
index : 'disponible',
width : 80,
editable : true,
edittype : 'select',
editoptions:{value:"0:No;1:Si"},
required : true
} ],
rowNum : 20,
rowList : [ 20, 40, 60, 80 ],
pager : '#prowed3',
sortname : 'piezaId',
postData: {piezaId : lastsel},
mtype:"POST",
viewrecords : true,
sortorder : "desc",
onSelectRow : function(id) {
if (id && id !== lastsel) {
jQuery('#rowed3').jqGrid('restoreRow', lastsel);
jQuery('#rowed3').jqGrid('editRow', id, true);
lastsel = id;
}
},
editurl : CONTEXT_PATH+'/ajax/admin/savePieza.do?categoria=<s:property value="categoryId" />',
caption : "Piezas"
});
jQuery("#rowed3").jqGrid('navGrid', "#prowed3", {
edit : false,
add : false,
del : false
});
})
$.jgrid.useJSON=true;
//http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3Acommon_rules
$(文档).ready(函数(){
//警报(上下文路径);
var lastsel;
jQuery(“#rowed3”).jqGrid(
{
url:CONTEXT_PATH+'/ajax/getPartesByCategory.do?catid=',
//url:“/autoWEB/text.html”,
数据类型:“json”,
ajaxGridOptions:{contentType:“application/json”},
jsonReader:{
根:“行”,
第页:“第页”,
总计:“总计”,
记录:“记录”,
重复项:false
},
头像:是的,
colNames:['ID','Pieza','disponable'],
colModel:[{
名称:'piezaId',
索引:“piezaId”,
对齐:“右”,
宽度:50,
可编辑:false,
必填项:true
}, {
名称:“描述”,
索引:“描述”,
宽度:390,
是的,
必填项:true
}, {
名称:'可争议',
索引:'可争议',
宽度:80,
是的,
edittype:'选择',
editoptions:{value:“0:No;1:Si”},
必填项:true
} ],
rowNum:20,
行列表:[20,40,60,80],
传呼机:“#prowed3”,
sortname:‘piezaId’,
postData:{piezaId:lastsel},
mtype:“POST”,
viewrecords:是的,
巫师:“描述”,
OnSetrow:功能(id){
if(id&&id!==lastsel){
jQuery('#rowed3').jqGrid('restoreRow',lastsel);
jQuery('#rowed3').jqGrid('editRow',id,true);
lastsel=id;
}
},
editurl:CONTEXT_PATH+'/ajax/admin/savePieza.do?categoria=',
描述:“Piezas”
});
jQuery(“#rowed3”).jqGrid('navGrid',“#prowed3”{
编辑:false,
加:错,,
戴尔:错
});
})
您可以使用
hidden: true, editable: true, editrules: { edithidden: false }, hidedlg: true
在
piezaId
(ID)列的定义中。当前不需要参数hidedlg
,但如果您决定使用其他jqGrid功能,则该参数可能会很有用。在OnSetrow回调中,您可以将editUrl修改为您想要的任何内容,包括传入所需的ID
$("#rowed3").jqGrid('setGridParam', {editurl:'whatever/url/you/need/with/the/id'});
jqGrid将为您将所有其他必要的参数添加到该editurl。在GET字符串中传递值
editurl: '/ajax/update?line=1',
如果
hidedlg
设置为true,此列将不会出现在模式对话框中,用户可以在该对话框中选择要显示或隐藏的列(columnChooser
)。有关更多详细信息,请参阅。