rav*_*rav 1 datatable jquery datatables
我正在尝试在DataTables列中搜索在多选框中选择的值.我将多选框中选择的值读取到变量,并用"|"连接.然后我尝试使用fnFilter进行搜索,我的代码如下:这是我启动表的方式:
var table = jQuery(tableId).DataTable(settings);
Run Code Online (Sandbox Code Playgroud)
其中设置是数据表的全局设置.这是jQuery代码:
jQuery('#box2').change(function() {
var foo = [];
jQuery('#box2 :selected').each(function(j, selected){
foo[j] = jQuery(selected).text();
});
var m= foo.join("|");
table.fnFilter(m, 2, true, false, true, true);
});
Run Code Online (Sandbox Code Playgroud)
这将在控制台中返回以下错误:
Uncaught TypeError: table.fnFilter is not a function
Run Code Online (Sandbox Code Playgroud)
我的代码有什么问题吗?或者有更好的方法吗?
小智 7
数据表1.10具有不同的api.
$().DataTable
Run Code Online (Sandbox Code Playgroud)
与...不同
$().datatable
Run Code Online (Sandbox Code Playgroud)
像这样改变你的api:
table.search(your_key).draw();
Run Code Online (Sandbox Code Playgroud)
在旧版本的 DataTable 中,您必须使用fnFilter,对于 DataTable 1.10 版,您必须使用search.
我可以看到您正在使用的代码jQuery(tableId).DataTable(settings);(版本 1.10)
所以,解决方案是:
var table = jQuery(tableId).DataTable(settings);
table.search(value).draw();
Run Code Online (Sandbox Code Playgroud)
但是,在较旧的 DataTable 版本中,由 small d发起的表类似这样jQuery(tableId).dataTable();。因此,在这种情况下,您可以使用fnFilter
var table = jQuery(tableId).dataTable();
table.fnFilter(value);
Run Code Online (Sandbox Code Playgroud)
阅读更多关于DataTable - fnFilter和DataTable - 搜索
| 归档时间: |
|
| 查看次数: |
7309 次 |
| 最近记录: |