2010-11-25 4 views
0

。を使用してjqgridを呼び出すことはできません。例に与えられたように、オペレータ:を使用してjqGrid関数を呼び出すことはできません。演算子

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

私は次のエラーを取得する:

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

は、代わりに私はいつも次のように呼び出しを行う必要があります。

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

私は後者のアプローチには何の問題もありません。前者のアプローチを使っているほとんどの例とチュートリアルが私のためにうまくいかない理由が不思議です。

ありがとうございました

答えて

2

は、おそらくあなたは、どこかで(documentationを参照)を直接または間接的にプログラムし、次のコード

jQuery.jgrid.no_legacy_api = true; 

を使用しました。このコードでは、「旧式の」APIの使用を禁止しています。代わりに

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

:ところで

あなたはので、あなたは少し他の形式で「新しいスタイル」APIを使用することができますVisual StudioでIntelliSenseサポートの「古いスタイル」APIの使用を好む場合

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

の場合にあっニックCraverを説明し、別のjQueryのプラグインとのコンフリクトはありませんが、IntelliSenseは、作業を継続していきます。

alt text

alt text

+0

ええ、それは絶対に正しいです!ありがとうございました - 私はこれを投票することができれば幸いです+10 – sami

+0

@サミ:あなたを歓迎します! – Oleg

0

これは、プラグインデザイナーが選択した方法です。代替手段はいくつかの問題を持っている、(すべての jQueryオブジェクトになるよう、プロトタイプ上に存在)$.fnにそのメソッドのすべてを持っていることです。

  • 今すぐすべてのオブジェクト
  • に定義されたメソッドがたくさんあります
  • 矛盾する可能性があります。すでにjQueryメソッドを使用したかったらどうしたらいいのですか。

です。これは、これを制御して区画化しておくための方法です。また、これはjqGridに固有のものではありません。たとえば、jQuery UIというテーマを受け入れる場合、all of the widgets in that libraryは同じ規則に従います。

+0

が、彼らは最近、これを変更しましたか? jQuery( "#grid_id")。jqGrid( 'method'、parameter1、... parameterN);これは有効です。 - http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods – sami

関連する問題