我的网格有特殊的实现。
为此,我在jqGridonSelectRow
和loadComplete
方法中编写了一些代码。
在onSelectRow
我需要更新一个全局数组并且在loadComplete
方法中我必须访问全局数组并且需要在 jqGrid 中进行一些操作。
到那时我还好。我已经这样做了。现在我想以一种通用的方式扩展这两种方法(其他网格可以使用它而无需编写任何代码)。
为此,我想到了以下步骤。
我想用 jqGrid.js 在我的 html 中添加一个新的 js(例如:jquery.jqGrid.additional.js)
我想通过 jqGrid 的数据数组来分配我的全局变量
在这个js中,我想检查网格的多选值
如果该值为 true,那么我想扩展 onSelectRow、loadComplete 方法,以使 jqGrid 执行我的方法和在 onSelectRow、loadComplete 方法中编写的代码。
例如,我有preLoadComplete
并且postLoadComplete
需要在方法执行之前和之后loadComplete
执行。同样,这也适用于 onSelectRow 方法。
我在 jquery.jqGrid.additional.js 中编写了以下代码,然后在 jqGrid 加载后没有收到警报(1),警报(2)。
它只执行 jqGrid 的 loadComplete 方法中编写的代码。
var oldLoadComplete = $.fn.jqGrid.loadComplete;
$.jqGrid.extend({
loadComplete: function (){
var ret;
// do someting before
alert(1);
ret = oldLoadComplete.call (this);
// do something after
alert(3);
return ret; // return original or modified results
}
});
我对此进行了很多尝试并花了很多时间。