https://blog.csdn.net/weixin_34417200/article/details/88204395
背景:
使用 jquery 的表格插件 datatables 获取它筛选后的数据,一开始,我只能获取到全部数据,因为插件默认把不符合条件的隐藏了,但是不代表数据改变了。
应用场景截图:
解决方法:
1.如果想在每次筛选后就立即获取,解决的方法:
var table = $('#example').DataTable();
table.on('search.dt', function() {
//number of filtered rows
console.log(table.rows( { filter : 'applied'} ).nodes().length);
//filtered rows data as arrays
console.log(table.rows( { filter : 'applied'} ).data());
})
复制代码
2.如果想多次筛选后保存当前结果,解决的方法:
var table = $('#example').DataTable();
console.log(table.rows( { filter : 'applied'} ).data());复制代码
这样可以得到筛选后 td 的每一个 cell 的值,结果如下:
ok~大功告成!
参考链接
ps:
项目中如果以 json 形式传给后端,实现方法:
let filterData = table.rows( { filter : 'applied'} ).data()
let data = []
for (let i = 0;i < filterData.length; i++) {
data.push({
target_id: filterData[i][0],
name: filterData[i][1],
description: filterData[i][2],
type: filterData[i][3],
baseMean: filterData[i][4],
log2FoldChange: filterData[i][5],
pvalue: filterData[i][6],
padj: filterData[i][7],
})
}
复制代码
---------------------
作者:weixin_34417200
来源:CSDN
原文:https://blog.csdn.net/weixin_34417200/article/details/88204395
版权声明:本文为博主原创文章,转载请附上博文链接!