web-dev-qa-db-ja.com

table.rowは関数ではありません

のように datatables に行の詳細を実装しようとしています。

テーブルの詳細画像を表示をクリックすると、Firebugコンソールで次のエラーが表示されます。

_TypeError: oTable.row is not a function
var row = oTable.row(tr);
_

また、このエラーを生成するコードの fiddle もあります。

私が理解しているように、私のデータテーブルのrow()関数は見つかりません。しかし、私はそれを取得しません...私はjqueryバージョン1.11.1で最新のデータテーブルバージョンを使用します(フィドルに示されているように1.11.0ではありません).

私は立ち往生しています...このエラーが発生する理由は誰にもわかりませんか?

どうもありがとう

42
MaVRoSCy

dataTable関数とDataTable関数の違いはわかりませんが、2番目の関数を使用してデータテーブルを初期化したときにコードが機能しました。

 oTable = $('#tblCasesMain').DataTable({ ...

以下に fiddle を示します。これは、定義されていないformat関数でのみエラーを返します。

注: この例 に従って関数名を変更しました。

更新:私は少し研究をして答えを得ました。 Upgrade notehere を見てください。

DataTables 1.9以前からアップグレードする場合は、ここでDataTableを初期化するために大文字のDが使用されていることに気付くかもしれません。 $()。DataTable()はDataTables APIインスタンスを返します、一方$()。dataTable()もDataTableを初期化しますが、jQueryオブジェクトを返します。

123

.DataTable()の代わりにdataTable()を使用する必要はありません。

.api()を追加するだけです。必要なrow()メソッドを定義するオブジェクトを返します。

例:var row = oTable.api().row(tr);

44
U. Kadner

これは、Functionに言及していないためです。

更新作業リンクを確認 http://jsfiddle.net/2gLqgL7m/7/

3
user3209031

上記の回答があなたのケースでうまくいかない場合は、以下の代替案を試してください。

var row = $('#tblSample').DataTable().row(tr);

の代わりに

var oTable =  $('#tblSample').dataTable( {
    //Code
 });
var row = oTable.row(tr);
1
Praveen Mitta

更新dataTable() wuth DataTable() .dataTable()を使用する必要はありません

.DataTable()を使用します

例:

oTable = jQuery('#tblCasesMain').DataTable({ ...
0
Mr. HK