0

我正在使用以下代码段手动调用网格上的保存函数。我正在使用内联编辑。保存函数需要返回一个自定义对象。如何访问返回值?有回调函数吗?successfunc 是否只返回真/假?

jQuery("#grid_id").jqGrid('saveRow',rowid, succesfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc);
4

1 回答 1

2

如果你saveRow用来保存本地数据,你可以在你的mySaveFunction. 重要的是要理解,您必须使用editRow(或saveRowaftersavefunc )的参数而不是参数。这是典型的误解,但只有在服务器上保存数据时才会调用回调。在的情况下不会调用回调。我建议您使用“对象”形式的用法:succesfuncsuccesfuncsuccesfunc'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 脚本以异步工作,而不是经典的同步顺序执行顺序。

于 2012-09-14T21:40:15.740 回答