我有以下事件绑定(bind)代码。当我尝试保存行时,事件函数被触发,但我没有得到任何行数据? 我必须获取整个数据并迭代以找到 id。这是正确的吗???
$("#jqGrid").bind("jqGridInlineAfterSaveRow", function (e, rowid, orgClickEvent) {
console.log("[Start]jqGridInlineAfterSaveRow");
console.log(rowid);
console.log(orgClickEvent);
console.log(e);
var data = $("#jqGrid").jqGrid('getGridParam', 'data');
$.each(data, function(index, item){
if(item._id_ === rowid){
console.log(item);
}
});
console.log("[End]jqGridInlineAfterSaveRow");
return e.result === undefined ? true : e.result;
});
最佳答案
请始终包含有关您使用(可以使用)的 jqGrid 版本和分支( free jqGrid 、商业 Guriddo jqGrid JS 或版本 <=4.7 中的旧 jqGrid)的信息。
无论如何参数
$("#jqGrid").bind("jqGridInlineAfterSaveRow",
function (e, rowid, jqXhrOrBool, postData, options) {
var item = $(this).jqGrid('getLocalRow', rowid);
//...
}
);
如果保存本地数据,则 3-d 参数为 bool 值,jqXHR通过 Ajax 请求将数据保存到服务器的情况。参数postData
包含您可能需要的修改后的数据。如果您提供有关该行的所有数据,而不仅仅是可编辑字段,那么您可以使用 getLocalRow
获取对内部 data
项目的引用,代表完整的本地行数据。
我刚才测试了事件jqGridInlineAfterSaveRow
在我开发的免费 jqGrid 4.13.6 中,该事件确实包含我上面描述的参数。
关于jquery - jqGrid事件:jqGridInlineAfterSaveRow rowdata empty?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41991063/