开发者

Change settings value on the fly?

Is it possible to change jQuery DataTables settings value on fly. My problem is next,I need to change sAjaxSource on fly. Already tried something like this:

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();
} 

My aData[3] is changed on click.


Have you tried

 oTable = $("#my-table").dataTable(oST);
 var oSettings = oTable.fnSettings();
 oSettings.sAjaxSource  = "new value";


You can use fnReloadAjax() function, see plug-ins on official datatable site.


For DataTables 1.10+:

Use ajax.url() API method as shown below to set the Ajax URL and load the data from the new source immediately:

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

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

For DataTables 1.9:

Use fnReloadAjax() plugin to reload the table's data from the Ajax source. Please note that this plug-in has been deprecated.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜