Jquery jqgrid内联编辑获取ajax成功响应

Jquery jqgrid内联编辑获取ajax成功响应,jquery,jqgrid,jqgrid-formatter,jqgrid-inlinenav,Jquery,Jqgrid,Jqgrid Formatter,Jqgrid Inlinenav,在jqgrid中进行内联编辑后,有谁能帮助我获得ajax响应吗?下面是我在jqgrid中的代码,我不知道如何在内联编辑后获得ajax成功响应 我试过“loadComplete”、“gridComplete”和“afterComplete”。 这些仅在加载网格后有效,但在编辑单元后无效 jQuery('#grid').jqGrid({ "width": "640", "hoverrows": true, "v

在jqgrid中进行内联编辑后,有谁能帮助我获得ajax响应吗?下面是我在jqgrid中的代码,我不知道如何在内联编辑后获得ajax成功响应

我试过“loadComplete”、“gridComplete”和“afterComplete”。 这些仅在加载网格后有效,但在编辑单元后无效

jQuery('#grid').jqGrid({
            "width": "640",         
            "hoverrows": true,
            "viewrecords": false,
            "gridview": true,
            "url": "es.php",
            "editurl": "es.php",
            "cellurl": "es.php",
            "rowNum": 10,
            "rowList": [10, 20, 30],
            "sortname": "id",
            "datatype": "json",
            "colModel": [{
                "name": "employee",
                "sortable": false,
                "index": "employee",
                "editable": true,
                "editrules": { required: true } 
            }, {
                "name": "age",
                "index": "age",
                "sortable": false,
                "editable": true,
                "editrules": { required: true } 
            }, {
                "name": "actions",
                "formatter": "actions",
                "editable": false,
                "sortable": false,
                "resizable": false,
                "delbutton" : false, 
                "fixed": true,
                "width": 60,
                "formatoptions": {
                    "keys": true,
                    "delbutton" : false, 
                    "delOptions": {}, 
                }
            }, {
                name: 'id',
                index: 'id',
                "key": true,
                hidden: true,
                viewable: true,
                editrules: {
                    edithidden: true
                },
                    "editable": false
                }
            ],
            "postData": {
                "oper": "fsgrid"
            },
            "prmNames": {
                "page": "page",
                "rows": "rows",
                "sort": "sidx",
                "order": "sord",
                "search": "_search",
                "nd": "nd",
                "id": "id",             
                "searchField": "searchField",
                "searchOper": "searchOper",
                "searchString": "searchString",
                "oper": "oper",
                "query": "grid",
                "addoper": "wsadd",
                "editoper": "wsedit",
                "excel": "excel",
                "subgrid": "subgrid",
                "totalrows": "totalrows",
            },
            "loadError": function(xhr, status, err) {
                try {
                    jQuery.jgrid.info_dialog(jQuery.jgrid.errors.errcap, '<div class="ui-state-error">' + xhr.responseText + '</div>', jQuery.jgrid.edit.bClose, {
                        buttonalign: 'right'
                    });
                } catch (e) {
                    alert(xhr.responseText);
                }
            },
            "pager": "#pager",
            beforeShowForm: function(form) {
              $(".ui-inline-del").remove();
            },
        }); 

         jQuery('#grid').jqGrid('navGrid', '#pager', {
                "edit": false,
                "add": true,
                "del": false,
                "search": false,
                "refresh": false,
                "view": false,
                "excel": false,
                "pdf": false,
                "csv": false,
                "columns": false
            });     
jQuery('#grid').jqGrid({
“宽度”:“640”,
“悬停行”:正确,
“viewrecords”:false,
“gridview”:没错,
“url”:“es.php”,
“editurl”:“es.php”,
“cellurl”:“es.php”,
“rowNum”:10,
“行列表”:[10,20,30],
“sortname”:“id”,
“数据类型”:“json”,
“colModel”:[{
“姓名”:“员工”,
“可排序”:false,
“索引”:“员工”,
“可编辑”:真,
“editrules”:{必需:true}
}, {
“姓名”:“年龄”,
“索引”:“年龄”,
“可排序”:false,
“可编辑”:真,
“editrules”:{必需:true}
}, {
“名称”:“操作”,
“格式化程序”:“操作”,
“可编辑”:false,
“可排序”:false,
“可调整大小”:false,
“delbutton”:错误,
“固定”:正确,
“宽度”:60,
“格式选项”:{
“钥匙”:没错,
“delbutton”:错误,
“删除选项”:{},
}
}, {
名称:“id”,
索引:“id”,
“关键”:没错,
隐藏:是的,
可见:对,
编辑规则:{
编辑:是的
},
“可编辑”:false
}
],
“postData”:{
“操作”:“fsgrid”
},
“prmNames”:{
“页面”:“页面”,
“行”:“行”,
“排序”:“sidx”,
“命令”:“sord”,
“搜索”:“搜索”,
“nd”:“nd”,
“id”:“id”,
“搜索字段”:“搜索字段”,
“searchOper”:“searchOper”,
“searchString”:“searchString”,
“oper”:“oper”,
“查询”:“网格”,
“添加操作程序”:“wsadd”,
“编辑操作员”:“wsedit”,
“excel”:“excel”,
“子网格”:“子网格”,
“totalrows”:“totalrows”,
},
“loadError”:函数(xhr、状态、错误){
试一试{
jQuery.jgrid.info_对话框(jQuery.jgrid.errors.errcap,“+xhr.responseText+”,jQuery.jgrid.edit.bClose{
按钮符号:“对”
});
}捕获(e){
警报(xhr.responseText);
}
},
“寻呼机”:“寻呼机”,
beforeShowForm:函数(形式){
$(“.ui内联del”).remove();
},
}); 
jQuery(“#grid”).jqGrid('navGrid','#pager',和{
“编辑”:假,
“添加”:正确,
“del”:假,
“搜索”:错误,
“刷新”:错误,
“视图”:错误,
“excel”:错误,
“pdf”:错误,
“csv”:错误,
“列”:false
});     

在上述情况下,一切正常。但我不知道如何在内联编辑完成后获得ajax响应。除此之外,我对jqgrid非常陌生。我想,我使用的是非常基本的jqgrid代码。因此,请建议我获得回复。

有很多方法可以使用内联编辑。您可以使用内部使用内联编辑的。因此,您可以在
formatoptions
中指定内联编辑选项。例如,要在内联编辑后处理成功响应,可以指定具有相同参数的
onSuccess
callback,如的
successfunc
。回调
onError
的使用方法与
editRow
errorfunc
相同。提供回调用法的示例

指定内联编辑的
successfunc
errorfunc
回调的另一种方法是使用
$.jgrid.inlineEdit

另一种方法是使用
jqGridInlineSuccessSaveRow
jqGridInlineErrorSaveRow
jQuery事件:

jQuery("#grid").bind("jqGridInlineSuccessSaveRow",
    function (e, jqXHR, rowid, options) {
        alert("successful server response:\"" + jqXHR.responseText + "\"");
        // in case of adding new row on the server you can return id
        // of the new row
        return [true, jqXHR.responseText];
    }
);
(我没有测试代码,但我希望我在这里没有出错)

对您发布的代码的一些小注释:您可以从jqGrid选项列表中删除
beforeShowForm
callback。回调可以在表单编辑时使用,并且应该在其他地方使用

还有一句话:如果正确填写jqGrid,您可以删除不需要的隐藏
id
列。理解jqGrid将
id
属性分配给网格的每一行(分配给
元素),这一点很重要。
id
属性的值是rowid。隐藏
id
列的存在只会带来更多问题,尤其是在允许编辑数据的情况下