关闭使用afterSubmit函数添加/编辑jqgrid的表单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关闭使用afterSubmit函数添加/编辑jqgrid的表单相关的知识,希望对你有一定的参考价值。
我是使用jqgrid的新手。
我正在使用afterSubmit:function来重新加载网格以进行添加/编辑更改,afterSubmit:function可以正常使用更新的数据。但添加记录和编辑表单不会被关闭。我已经使用了这个选项(closeAfterEdit:true,closeAfterAdd:true)没有关闭。我在哪里使用这个选项令人困惑的问题。
如果没有afterSubmit:function,两个表单都将被关闭。抱歉!因为我的英语不好请找到bellow navGrid代码:
$("#companyList").jqGrid('navGrid',"#pager2",{add:true,edit:true,del:true,refresh:false,
beforeRefresh: function(){
$("#companyList").jqGrid('setGridParam',{datatype:'xml'}).trigger('reloadGrid');
}},
{
afterSubmit: function() {
$("#companyList").jqGrid('setGridParam'{datatype:'xml'}).trigger('reloadGrid');
return [true,'',false]; // no error and no new rowid
}
},{
afterSubmit: function() {
$("#companyList").jqGrid('setGridParam',{datatype:'xml'}).trigger('reloadGrid');
return [true,'']; // no error
}
},
editParam = {
editData:{myparam:function(){return "myval";}},
reloadAfterSubmit: true,
editCaption:'Edit Record',
bSubmit:'Save',
url:'<%=request.getContextPath()%>/CompanyJqGrid? q=1&action=addData',
closeAfterEdit:true,
viewPagerButtons:false
},{closeAfterAdd:true});
答案
你正在使用哪个jqgrid版本。我使用3.6+,这对我有用
$("#gUserGrid").jqGrid('navGrid','#pagergUserGrid',{add:true,edit:true,del:true,search:true}, //NAVIGATION BAR
{
jqModal:true,
savekey: [true,13],
navkeys: [true,38,40],
width: 500,
reloadAfterSubmit:true
}, // edit options
{ jqModal:true
,reloadAfterSubmit:true
}, // add options
{
reloadAfterSubmit:true}, //del options
{
} // search options
);
另一答案
这些是navGrid方法的参数:
.navGrid('#gridpager',{parameters}, prmEdit, prmAdd, prmDel, prmSearch, prmView);
要在编辑之后和添加行之后关闭对话框窗口,请sholud将closeAfterEdit:true添加到prmEdit,并将closeAfterAdd:true添加到prmAdd对象。像这儿:
$("#companyList").jqGrid('navGrid',"#pager2",{add:true,edit:true,del:true,refresh:false,
beforeRefresh: function(){...}},
{//prmEdit
closeAfterEdit:true,
afterSubmit: function() {...}
},
{//prmAdd
closeAfterAdd:true,
afterSubmit: function() {...}
}
)
另一答案
afterSubmit的正确语法是:
afterSubmit : function(response, postdata)
{
…
return [success,message,new_id]
}
另一答案
这解决了我的问题;
afterSubmit: function (resp, postdata)
{
return [true,"",null];
}, closeAfterEdit: true
另一答案
实际上它很容易做到,你只需要添加一个命令行,如下面的代码
closeAfterEdit:真
$('#jQGridDemo').jqGrid('navGrid', '#jQGridDemoPager',
{
edit: true,
add: false,
del: false,
search: false,
},
{ //EDIT
closeOnEscape: true,//Closes the popup on pressing escape key
closeAfterEdit: true,
//afterSubmit: function (response, postdata) {
// }
}
........
以上是关于关闭使用afterSubmit函数添加/编辑jqgrid的表单的主要内容,如果未能解决你的问题,请参考以下文章
如何在 afterSubmit 事件中添加 180 天以在 suiteflow 中进行转换?