たとえば、id="datatable"のテーブル要素がdatatablesで初期化されているかどうかを確認したいと思います。このようなもの:
if ($('#datatable').dataTable().initialized) {
alert("initialized!");
}
else {
alert("not initialized!");
}
どうやってやるの?ありがとう!
たとえば、id="datatable"のテーブル要素がdatatablesで初期化されているかどうかを確認したいと思います。このようなもの:
if ($('#datatable').dataTable().initialized) {
alert("initialized!");
}
else {
alert("not initialized!");
}
どうやってやるの?ありがとう!
jQueryデータテーブルでfnIsDataTable関数を使用できます
var ex = document.getElementById('example');
if ( ! $.fn.DataTable.fnIsDataTable( ex ) ) {
$(ex).dataTable();
}
あなたはAPIでより多くの情報を見つけることができます
まず、データテーブルを初期化するときに特別なクラス名を追加します。
$('.datatable').not('.initialized').addClass('initialized').dataTable()
そして今、あなたはそれらをクラス名で区別することができます:
alert( $('#datatable').hasClass('initialized') )
これに対する正しい答えは次のとおりだと思います。
$(document).ready(function(){
if (jQuery().dataTable) {
// your code to do some detaul set ups
}
});
例えば
$(document).ready(function(){
if (jQuery().dataTable) {
$.extend( $.fn.dataTable.defaults, {
iDisplayLength : 200,
aLengthMenu : [[100, 200, 300, -1], [100, 200, 300, "All"]],
});
}
});
このようif(jQuery().<libname>)
にして、ロードされているライブラリがロードされているかどうかを確認できるはずです。
Datatableには、要素がデータテーブルとして初期化されているかどうかを確認するメソッドがあります- $ .fn.DataTable.fnIsDataTable
tableElement = document.getElementById('your table ID');
$.fn.DataTable.fnIsDataTable(tableElement); // returns true or false
.dataTable()を呼び出した後、それはテーブルを識別可能にする何かをしますか?つまり、「初期化された」新しいクラスなどを追加しますか?もしそうなら、あなたはそのようにアイテムをループすることができます:
$('.datatable').each(
function(index, element) {
var _table = $(element);
if (_table.hasClass('initialised')) {
// Do stuff
} else {
// Do stuff
}
}
);
これがあなたの言っていることではない場合は、お詫び申し上げます。あなたの質問では、「dataTable()」が実際に何をするのかは明確ではありません。
私はcallback()
自分のシナリオで同じことをするために関数を使用しました。別のアプローチとしてこれを共有することを考えた
/* During Initialization */
var isTableInitialized = false;
$('#datatable').dataTable({/* your dataTable configurations*/},initializeDT());
/* Implement a callback function to set the value */
function initializeDT() {
isTableInitialized = true;
}
後でコードで..
/* Checking for Initialization is easier*/
if(isTableInitialized) {
/* Do something here */
} else {
/* Do something here */
}
これは私のために働いた。
$(document).ready(function() {
if (jQuery().dataTable) {
$.extend( $.fn.dataTable.defaults, {
/*some default settings*/
});
}
$('#myDataTable').DataTable();
});