我正在使用jqgrid 4.3.1,我正在使用本地数据进行表单编辑.问题是添加或编辑后表单没有关闭.这是我的代码.
$('#studentset').jqGrid({
data: mydata,
datatype: "local",
colNames:['id','First Name', 'Last Name'],
colModel:[
{name:'id',index:'id', width:60},
{name:'firstName',index:'fName', width:300, editable:true},
{name:'lastName',index:'lastName', width:300, editable:true}
],
pager: '#pager',
rowNum: 10,
rowList: [5, 10, 20],
sortname: 'id',
sortorder: 'asc',
viewrecords: true,
height: "80%",
caption: "Students to be Registered",
editurl: corpUrl
});
$('#studentset').jqGrid('navGrid', '#pager', { add: true, edit: true, del: false, search: false, refresh: false },
{
recreateForm: true,
closeAfterEdit: true,
modal:true,
afterSubmit: function(data){
var myObject = eval('(' + data.responseText + ')');
$('#studentset').setGridParam({data: myObject}).trigger("reloadGrid");
}
},
{
recreateForm: true,
closeAfterAdd: true,
modal:true,
afterSubmit: function(data){
var myObject = eval('(' + data.responseText + ')');
$('#studentset').setGridParam({data: myObject}).trigger("reloadGrid");
}
},
{},{},{}
);
Run Code Online (Sandbox Code Playgroud)
请注意,在navGrid的编辑和添加选项中,我已指定了相关选项.closeAfterAdd: true,和closeAfterEdit: true.但模态形式只是拒绝接近.我不确定这个版本的jqgrid中是否存在错误.
有人可以提供一些指导吗?可能是,如何手动关闭对话框?
根据文档,afterSubmit的语法是:
afterSubmit : function(response, postdata)
{
…
return [success,message,new_id]
}
Run Code Online (Sandbox Code Playgroud)
否则IE8会在成功发布数据后抛出错误.
您可以使用:
return [true,'',''];
Run Code Online (Sandbox Code Playgroud)
然后closeAfterAdd:true和closeAfterEdit:true将无需以编程方式关闭表单即可运行:
$('#cData').trigger('click');
Run Code Online (Sandbox Code Playgroud)