即时更改设置值?
Posted
技术标签:
【中文标题】即时更改设置值?【英文标题】:Change settings value on the fly? 【发布时间】:2011-02-23 22:49:18 【问题描述】:是否可以即时更改 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]
会在点击时更改。
【问题讨论】:
【参考方案1】:你试过了吗
oTable = $("#my-table").dataTable(oST);
var oSettings = oTable.fnSettings();
oSettings.sAjaxSource = "new value";
【讨论】:
没关系,它是 fnSettings().oFeatures.bProcessing,但如果在初始化期间设置为 false,它似乎很麻烦。 @Dan - 你如何影响更新?与table.ajax.reload();
或table.draw();
。我无法让它工作。【参考方案2】:
您可以使用 fnReloadAjax() 函数,请参阅官方数据表网站上的插件。
【讨论】:
【参考方案3】:对于 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 源重新加载表的数据。请注意,此插件已被弃用。
【讨论】:
以上是关于即时更改设置值?的主要内容,如果未能解决你的问题,请参考以下文章