无法使用调用jqGrid函数。操作者

时间:2010-11-25 15:24:06

标签: jquery jqgrid

我无法使用the调用jqgrid。示例中给出的运算符:

jQuery("#grid_id").editGridRow( "new", options );

我收到以下错误:

jQuery("#grid_id").editGridRow is not a function

相反,我总是要按以下方式拨打电话:

jQuery("#grid_id").jqGrid("editGridRow", "new", options );

我对后一种方法没有任何问题 - 我很好奇为什么前者不适用于我,当大多数示例和教程使用前一种方法时

由于

2 个答案:

答案 0 :(得分:2)

可能您使用了以下代码

jQuery.jgrid.no_legacy_api = true;
在你的某个地方直接或间接编程(见documentation)。该代码禁止使用“旧式”API。

顺便说一下,如果您更喜欢使用“旧式”API,因为Visual Studio中支持IntelliSense,您可以使用“新样式”API以其他形式:

jQuery("#grid_id").jqGrid.editGridRow ("new", options);

而不是

jQuery("#grid_id").jqGrid ("editGridRow", "new", options);

如果与另一个描述Nick Craver的jQuery插件没有冲突,但IntelliSense将继续工作:

alt text

alt text

答案 1 :(得分:0)

这就是插件设计者选择这样做的方式。另一种方法是将所有方法放在$.fn上(出现在原型上,依此每个 jQuery对象),这有一些问题:

  • 现在每个对象都定义了很多方法
  • 潜在的冲突,如果他们想要一个已经采用的jQuery方法,或者一个jQuery稍后添加呢?

The list of methods jqGrid has isn't short,所以这是他们控制和划分区域的一种方式。此外,这不是jqGrid独有的...例如它接受的jQuery UI主题,all of the widgets in that library遵循相同的约定。