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.
精彩评论