jqgrid - 关闭表单对话框

Fai*_*yet 3 jquery 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");
                                }
                            },
                            {},{},{}      
                    );  
Run Code Online (Sandbox Code Playgroud)

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

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

Yaq*_*ibi 7

根据文档,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:truecloseAfterEdit:true将无需以编程方式关闭表单即可运行:

$('#cData').trigger('click');
Run Code Online (Sandbox Code Playgroud)