Jquery jqgrid内联编辑获取ajax成功响应
在jqgrid中进行内联编辑后,有谁能帮助我获得ajax响应吗?下面是我在jqgrid中的代码,我不知道如何在内联编辑后获得ajax成功响应 我试过“loadComplete”、“gridComplete”和“afterComplete”。 这些仅在加载网格后有效,但在编辑单元后无效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
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
列的存在只会带来更多问题,尤其是在允许编辑数据的情况下