27

jQuery DataTables 設定値をその場で変更することは可能ですか? 私の問題は次のとおりです。そのsAjaxSource場で変更する必要があります。すでに次のようなことを試しました:

var oDefault = {
    "bServerSide": true,
    "bProcessing": true,
    "bJQueryUI": true,
    "bLengthChange": false,
    "bFilter": true,
    "iDisplayLength": 8,
    "sAjaxSource": "my.php?" + "idKat="+aData[3],
    "aaSorting": [[ 0, "asc" ],[ 3, "asc" ]],
    "sDom": '<"top"ir>t<"bottom"pf<"clear">',
    "sPaginationType": "full_numbers",
    "oLanguage": {
        "sUrl": "<?php echo $full_path_jezik_2;?>"
    },
    "aoColumns": [
        { "sName": "rb","sWidth": "15%", "sClass": "center","sType": "numeric" },
        { "sName": "chkZaBrisanje","sWidth": "20%", "sClass": "center", "bSortable":false },
        { "sName": "rbPrvaSlika","sWidth": "15%", "sClass": "center","bSortable":false  },
        { "sName": "nazivSlike","sWidth": "50%", "sClass": "center", "sSortDataType": "dom-text"  }
    ]
};

var oST = $.extend( true, {}, oDefault );
oST.sAjaxSource = "my.php?" + "idKat="+aData[3];

alert(oST.sAjaxSource);

if (typeof oTable == 'undefined') {
    oTable = $("#my-table").dataTable(oST);
}
else
{               
    oTable.fnDraw();
} 

aData[3]はクリックで変更されます。

4

3 に答える 3

45

やってみました

 oTable = $("#my-table").dataTable(oST);
 var oSettings = oTable.fnSettings();
 oSettings.sAjaxSource  = "new value";
于 2010-05-25T23:33:30.560 に答える
3

fnReloadAjax() 関数を使用できます。公式データテーブル サイトのプラグインを参照してください。

于 2011-05-29T16:57:45.030 に答える
1

DataTables 1.10+ の場合:

ajax.url()以下に示すように API メソッドを使用して、Ajax URL を設定し、新しいソースからデータをすぐに読み込みます。

var table = $('#example').DataTable({
    ajax: 'data.json'
});

table.ajax.url('newData.json').load();

DataTables 1.9 の場合:

プラグインを使用fnReloadAjax()して、Ajax ソースからテーブルのデータを再読み込みします。このプラグインは非推奨になっていることに注意してください。

于 2015-09-14T02:13:13.160 に答える