3

表形式のデータを表示するためにDataTables(jQueryプラグイン)を使用しています。JSONWebサービスからAJAXを使用してデータをフェッチする場合。

JavaScript / jQueryを使用して強制的に更新するにはどうすればよいですか?APIを調べていますが、適切な関数が見つかりません。

4

3 に答える 3

5

答えを待っている間、私はついにそれを見つけました:fnDraw機能は私が必要としていたものです。

APIセクションの冒頭で説明されていますが、私はわざわざすべてを読む必要はありませんでした。

必要に応じてデータを操作するためにサーバーに必要な呼び出しを行ってから、テーブル(fnDrawを再描画して新しいデータを表示する必要があります。

于 2012-10-11T21:36:56.253 に答える
1

電話してみてください:

$("#Table1").fnDestroy().dataTable();

それはそれを再構築する必要があります...

于 2012-10-11T21:24:50.617 に答える
1

これをどこかに追加します:

$.fn.dataTableExt.oApi.fnReloadAjax = function ( oSettings, sNewSource, fnCallback, bStandingRedraw ) {
    if ( typeof sNewSource != 'undefined' && sNewSource != null )
    {
        oSettings.sAjaxSource = sNewSource;
    }
    this.oApi._fnProcessingDisplay( oSettings, true );
    var that = this;
    var iStart = oSettings._iDisplayStart;
    var aData = [];

    this.oApi._fnServerParams( oSettings, aData );

    oSettings.fnServerData( oSettings.sAjaxSource, aData, function(json) {
        /* Clear the old information from the table */
        that.oApi._fnClearTable( oSettings );

        /* Got the data - add it to the table */
        var aData =  (oSettings.sAjaxDataProp !== "") ?
            that.oApi._fnGetObjectDataFn( oSettings.sAjaxDataProp )( json ) : json;

        for ( var i=0 ; i<aData.length ; i++ )
        {
            that.oApi._fnAddData( oSettings, aData[i] );
        }

        oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
        that.fnDraw();

        if ( typeof bStandingRedraw != 'undefined' && bStandingRedraw === true )
        {
            oSettings._iDisplayStart = iStart;
            that.fnDraw( false );
        }

        that.oApi._fnProcessingDisplay( oSettings, false );

        /* Callback user function - for event handlers etc */
        if ( typeof fnCallback == 'function' && fnCallback != null )
        {
            fnCallback( oSettings );
        }
    }, oSettings );
}

次に、次のように呼び出します。

oTable = $(".dt").dataTable();
oTable.fnReloadAjax();

クレジット:http ://datatables.net/plug-ins/api

于 2012-10-11T21:29:09.863 に答える