2016-09-28 14 views
-2

変数が初期化されたDataTableであるかどうかを判断する方法はありますか?私は$.fn.dataTable.isDataTable()を使用できると仮定しましたが、これはテーブルセレクタに対してのみ機能し、初期化されたDataTableを含む変数に対しては機能しません。この関数は、このような変数にfalseを返している:$.fn.dataTable.isDataTable()以来変数が初期化されたDataTableであるかどうかをチェックする方法は?

var table = $("#table").DataTable(); // Valid initialized DataTable 
console.log($.fn.dataTable.isDataTable("#table")); // Returns true 
console.log($.fn.dataTable.isDataTable(table)); // Returns false...why? 

をチェックするために使用することはできません変数、そのような変数はDataTableの初期化されているかどうかを確認する別の方法がありますか?私は基本的にこれをやろうとしている:あなたはisDataTable()にjQueryのインスタンスを渡す必要はありません

if (isDataTable(variable)) { 
    // datatable ... do datatable stuff 
} else { 
    // not a datatable... do other stuff 
} 
+0

今や非常に明確です。 –

+1

これは非常にシンプルで、すでに2回あなたのために答えられています。関数はjQueryオブジェクトではなくSTRINGをとります。 jQueryオブジェクトをテストするには、そのオブジェクトからIDを抽出する必要があります。 'isDataTable($ myObject.attr( 'id'));'変数を扱うにはどうすればいいですか? 「変数」は何でもかまいませんので無意味です。 –

+0

このスレッドをチェックしましたか?http://stackoverflow.com/questions/5044589/jquery-datatables-test-if-datatables-plugin-is-initialized? –

答えて

2

私はasked this question、と彼はinstanceofを使用して提案:を必要に応じて

var table = $("#table").DataTable(); // Valid initialized DataTable 
if (table instanceof $.fn.dataTable.Api) { 
    // datatable ... do datatable stuff 
} else { 
    // not a datatable... do other stuff 
} 

このアプローチは正確に動作します。彼はまた、$.fn.dataTable.isDataTable()this commitに延長し、可変入力を可能にした。

0

isDataTable()にはIDが必要です。詳細については

:のDataTableのDocumentacionから

How to check if DataTables are initialized

+0

'isDataTable()'の使い方を理解しています。私の質問は、それが初期化されたDataTableであるかどうか、どのように変数をチェックすることができますか? – reformed

+0

私はこの質問にちょうど答えました:>なぜこの関数はfalseを返しますか?私は私の答えを改善します。 –

0

isDataTable()

はこれをチェックしてください

https://datatables.net/reference/api/ $ .fn.dataTable.isDataTable()

この方法は、 テーブル(タグ)ノードが既に DataTableであるかどうかをチェックします。これは、既にDataTableであるテーブルを に再初期化しないようにするのに便利です。

のDataTableの作成者に
+0

私はすでに私の質問にそのリンクを提供しています。変数が初期化されたDataTableかどうかを確認する方法はありますか? – reformed

+0

この回答は古くなりました。私はAllanと話をし、変数入力を受け入れるために '$ .fn.dataTable.isDataTable()'を修正しました。 – reformed

関連する問題