【发布时间】:2014-04-27 14:27:34
【问题描述】:
我正在尝试扩展 jqGrid“navgrid”方法,为我的所有表格网格添加自定义功能(即添加“navButtonAdd”或“filterToolbar”)。我有大约 100 个页面,所有页面都与 jqGrid v4.6.0 一起工作,都具有相同的结构并且已经使用“navGrid”方法,并且不想在每个页面中编写“navButtonAdd”或“filterToolbar”。 所以(根据 Oleg 在其他答案中的示例),我首先尝试了这个:
/* this is my global.js file, which is included for every page, of course AFTER jquery.jqGrid.src.js */
var oldNavGrid = $.fn.jqGrid.navGrid;
$.jgrid.extend({
navGrid: function() {
var ret = oldNavGrid.call(arguments);
//... do something else, such navButtonAdd or filterToolbar...
return ret;
}
});
//...
/* this is the structure of every page */
var $myGrid = $("#$myGrid");
$myGrid.jqGrid({
//grid options...
})
$myGrid.jqGrid('navGrid', "#myPager",
{edit:false, add:true, del:true, search:true, refresh:true}, {}, {}, {}, {})
但是当我调用“navGrid”时,我得到这个错误“Uncaught TypeError: undefined is not a function”,指向 jquery.jqGrid.src.js:8911
然后我尝试了不同的覆盖方式,比如
var oldNavGrid = $.fn.jqGrid.navGrid;
$.fn.jqGrid.navGrid = function() {
var ret = oldNavGrid.call(arguments);
//... do something else...
return ret;
};
总是遇到类似的错误。 有人可以告诉我我想做的事情的解决方案吗? 谢谢!!
【问题讨论】: