jqgrid的editurl会被增加、删除、编辑请求,根据增加、删除、编辑自动补入参数,如增加补入除id外的所有参数,删除补入id,编辑补入id及其它参数,但增加、删除、编辑的请求Url不同怎么办呢,jqgrid自己的事件和方法(见https://blog.mn886.net/jqGrid/的参数-方法-事件-文档)还不能解决这个问题,只能在点击增加、删除、编辑对应的图标时切换editurl。话不多说,直接上实例:
$(function () {
pageInit();
});
function pageInit() {
var jqGridSetter = {
datatype: 'json',
url: serverAddress + "apartment/select",
colNames: ['ID', '名称'],
colModel: [
{
name: 'id',
index: 'id',
width: 100,
align: 'center',
sortable: false,
hidden: true,
key: true
},
{
name: 'name',
index: 'name',
width: 100,
align: 'center',
sortable: false,
// editable默认为false,即不可编辑,不设置为true,点击编辑后弹框里面没有此属性
editable: true,
editoptions: {size: 10},
}
],
height: 400,
autowidth: true,
shrinkToFit: true,
rowNum: 10,
rowList: [5, 10, 15],
pager: '#pager',
mtype: 'get',
sortname: 'id',
viewrecords: true,
caption: '部门'
};
$('#list').jqGrid(jqGridSetter);
$('#list').jqGrid('navGrid', '#pager', {edit: true, add: true, del: true, search: true});
$('#add_list span').click(function(){
$('#list').setGridParam({editurl: serverAddress + "apartment/insert"});
});
$('#edit_list span').click(function(){
$('#list').setGridParam({editurl: serverAddress + "apartment/update"});
});
$('#del_list span').click(function(){
$('#list').setGridParam({editurl: serverAddress + "apartment/delete"});
});
}