2017-01-23 18 views
1

私はAJAX経由でデータを読み込むためにDatatablesを使用するサードパーティのWebアプリケーションをカスタマイズしています。私はそれが終了したときに検出するコールバック関数を添付したいと思います。Datatablesへのコールバックのアタッチ:正しい構文は何ですか?

さて、私はおよそinitComplete()fnDrawCallbackを読みますが、ここで問題ですしている:私が見てきたコード例のすべての形式は次のとおりです。

$('#tablename').dataTable({ 
    "initComplete": function() { } 

しかし、私の場合には、データテーブルが作成されます私のことではなく、Webアプリケーションによって、私はむしろそのソースコードを混乱させたくない(他のものの中でも、データテーブルは多くのページで使用される関数で作成されているため、 )。私ができることは、テーブルが作成されるとそのテーブルへの参照を取得することです。

var tabla=$.('#tablename').DataTable(); 

次に何ですか?その後、どのようにしてコールバックをアタッチしますか?この場合の正しい構文は何ですか?

(申し訳ありませんが私の仕事ではJavascriptを使用していません。私がそれに触れなければならないと、スキルが錆びます。

答えて

1

あなたはDataTableの発射されるinitイベントをリッスンすることができます完全に初期化され、データがロードされました。

Ajaxのソースのデータ

あなたはAjaxのソースのデータを使用している場合は、のDataTableの初期化後または前に、このイベントにハンドラをアタッチすることができます。

var table = $('#example').DataTable({ 
    ajax: 'https://api.myjson.com/bins/qgcu' 
}); 

$('#example') 
    .on('init.dt', function() { 
     console.log('Table initialisation complete: '+new Date().getTime()); 
    }); 

コードとデモンストレーションについては、this exampleを参照してください。

HTML-またはJavaScriptソースのデータ

あなたがHTML-またはJavaScriptソースのデータを使用している場合は、のDataTableの初期化の前に、このイベントにハンドラをアタッチする必要があります。

$('#example') 
    .on('init.dt', function() { 
     console.log('Table initialisation complete: '+new Date().getTime()); 
    }); 

var table = $('#example').DataTable(); 

コードとデモンストレーションについては、this exampleを参照してください。

1

あなたは新しいコールバックを持つオブジェクトの設定を拡張し、古い設定を保存しようとし、これらの新しい設定で再初期化テーブルができます

var tabla = $('#table').dataTable(); 

var oldOpts = tabla.fnSettings(); 

var newOpts = $.extend(oldOpts, { 
    fnDrawCallback: function(oSettings) { 
    //Your code 
    } 

tabla.fnDestroy(); 

$('#table').dataTable(newOpts); 
関連する問題