jQuery 即时更改设置值?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2909206/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Change settings value on the fly?
提问by user147
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:
是否可以动态更改 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();
}
My aData[3]
is changed on click.
我的aData[3]
点击更改。
回答by Dan Heberden
Have you tried
你有没有尝试过
oTable = $("#my-table").dataTable(oST);
var oSettings = oTable.fnSettings();
oSettings.sAjaxSource = "new value";
回答by Anonymous
You can use fnReloadAjax() function, see plug-ins on official datatable site.
您可以使用 fnReloadAjax() 函数,请参阅官方数据表站点上的插件。
回答by Gyrocode.com
For DataTables 1.10+:
对于数据表 1.10+:
Use ajax.url()
API method as shown below to set the Ajax URL and load the data from the new source immediately:
使用ajax.url()
如下所示的 API 方法设置 Ajax URL 并立即从新源加载数据:
var table = $('#example').DataTable({
ajax: 'data.json'
});
table.ajax.url('newData.json').load();
For DataTables 1.9:
对于数据表 1.9:
Use fnReloadAjax()
plugin to reload the table's data from the Ajax source. Please note that this plug-in has been deprecated.
使用fnReloadAjax()
插件从 Ajax 源重新加载表的数据。请注意,此插件已被弃用。