我使用的是Datatable 1.10.4。
我将数据数组发送到表中以填充表格, 初始化如下:
table = $('#dashboard-user-list-table').dataTable({
"data":window.MyApp.Model.userModel.getUsers(), //sourced JS Array
"iDisplayLength": 4,
---
---
});
我想添加一个onfilter回调函数并获取过滤后的数据数组 并做一些事情。
即使没有回调函数,有没有办法获得Filtered数据数组? (基本上我需要获取我作为源页数据传递的数组)
Datatables插件是否允许我这样做?如果是这样,我在文档中找不到任何直观的内容。
你能建议我怎么做吗?
参考JSFIDDLE
答案 0 :(得分:2)
我知道您在执行搜索时希望将过滤后的数据作为数组 如果是这样,试试这个。
var table = $('#dashboard-user-list-table').dataTable({
---
---
});
$('##dashboard-user-list-table').on('search.dt', function () {
var api = table.api();
//uppercase used for case insensitive search
var searchTerm = api.search().toUpperCase();
var filteredData = api.data()
.filter(function (value, index) {
return value.toString().toUpperCase().indexOf(searchTerm) !== -1;
}).toArray();
console.log(filteredData);
});
工作小提琴:http://jsfiddle.net/codeandcloud/a8b3ttf7/
免责声明:可能有一种更简单的方法。我不是那么多datatables.net专家