我正在使用以下代码段手动调用网格上的保存函数。我正在使用内联编辑。保存函数需要返回一个自定义对象。如何访问返回值?有回调函数吗?successfunc 是否只返回真/假?
jQuery("#grid_id").jqGrid('saveRow',rowid, succesfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc);
如果你saveRow
用来保存本地数据,你可以在你的mySaveFunction
. 重要的是要理解,您必须使用editRow(或saveRowaftersavefunc
)的参数而不是参数。这是典型的误解,但只有在服务器上保存数据时才会调用回调。在的情况下不会调用回调。我建议您使用“对象”形式的用法:succesfunc
succesfunc
succesfunc
'clientArray'
editRow
var someRetValue;
jQuery("#grid_id").jqGrid('saveRow', rowid,
{
url: 'clientArray'
aftersavefunc: function (id, response, options) {
someRetValue = response; // set someRetValue to any value
}
});
另一方面,您可以考虑使用回调函数作为自己"Save"
函数的参数。如果"Save"
将有afterSaveFunc
参数,您将不需要使用"Save"
函数的任何返回值。您应该只构建您的 JavaScript 脚本以异步工作,而不是经典的同步顺序执行顺序。