jqgrid – 关闭表单对话框

我正在使用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"); } }, {},{},{} ); 

请注意,在navGrid的编辑和添加选项中,我已指定了相关选项。 closeAfterAdd: true, closeAfterEdit: true 。 但模态forms只是拒绝接近。 我不确定这个版本的jqgrid中是否存在错误。

有人可以提供一些指导吗? 可能是,如何手动关闭对话框?

根据文档, afterSubmit的语法是:

 afterSubmit : function(response, postdata) { … return [success,message,new_id] } 

否则IE8会在数据成功发布后抛出错误。

您可以使用:

 return [true,'','']; 

然后closeAfterAdd:truecloseAfterEdit:true将无需以编程方式关闭表单即可运行:

 $('#cData').trigger('click'); 

好吧它的逻辑,只需触发对话框关闭按钮的click事件就像这样。 您将使用fire bug找到span标记的ID。

  $('#studentset').jqGrid('navGrid', '#pager', { add: true, edit: true, del: false, search: false, refresh: false }, { modal:true, jqModal: true, afterSubmit: function(data){ var myObject = eval('(' + data.responseText + ')'); $('#studentset').setGridParam({data: myObject}).trigger("reloadGrid"); $(".ui-icon-closethick").trigger('click'); } }, { modal:true, jqModal: true, afterSubmit: function(data){ var myObject = eval('(' + data.responseText + ')'); $('#studentset').setGridParam({data: myObject}).trigger("reloadGrid"); $(".ui-icon-closethick").trigger('click'); } }, {},{},{} ); 

希望有人从中受益。

您可以在bootstrap的帮助下完成此操作,将jqgrid放在div中然后用链接关闭div的想法就是出于此目的。 以下是代码。

  
×