关闭使用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的表单的主要内容,如果未能解决你的问题,请参考以下文章

JqG​​rid向数据库添加新行

JqG​​rid 如何更改编辑表单的宽度?

如何在 afterSubmit 事件中添加 180 天以在 suiteflow 中进行转换?

JqG​​rid 根据另一个 jqgrid 下拉列表中的选定数据在下拉列表中添加值

JqG​​rid 从服务器更新数据

JqG​​rid 需要超链接 - 需要通过 Jquery 捕获价值