22

ページの変更に「fnDrawCallback」関数を使用しています。それは基本的に私の目的を解決します。唯一のことは、dataTable オブジェクトを初期化するときにその関数を指定する必要があることです。初期化後にそれを行う方法はありますか?

例:私はこのようにしています:

$("#tableID").dataTables({'fnDrawCallBack':functionName});

私はこのようにしたい:

var oTable = $("#tableID").dataTables();
oTable.fnDrawCallback = functionName;    // or something like this

解決:

oTable.aoDrawCallback.push(functionObj);
var functionObj = {
   fn: funtionName
};
4

4 に答える 4

19

DataTables の内部データ設定にアクセスして、描画コールバック配列 (内部では fnDrawCallback ではなく aoDrawCallback - 複数のコールバックが存在する可能性があるため配列) を操作するか、(そして私が提案すること) 'draw' イベント リスナーを追加できます。 :

var oTable = $("#tableID").dataTables();
$(oTable).bind( 'draw', functionName );

DataTables によって発生するイベントは、http://datatables.net/docs/DataTables/1.9.0/#summary_events に記載されています

于 2012-03-02T18:17:04.787 に答える
6

1.8 以上のバージョンを使用している場合は、これを使用してページ変更イベントをヒットできます。

    $('#myTable').on('page', function () {...} );

お役に立てれば!

于 2012-10-03T13:53:16.767 に答える
1

2 つの個別の呼び出しではなく、.dataTable() の前に .bind() を追加するだけです。次のように、ページが変更されるたびに setMouseDown 関数を実行します (最初のページのレンダリングを含む)。

$('#myTable')
    .bind('page', setMouseDown())
    .dataTable( 
    { 
        bJQueryUI: true, 
        ... Other Init Stuff Here ... 
    });
于 2013-06-19T13:17:01.923 に答える
1

おそらくこれを見た http://datatables.net/forums/discussion/2737/addchange-callback-after-initialization-or-else-clone-settings-to-re-build-table/p1

于 2012-03-02T16:47:35.267 に答える