我创建了一个ejs文件,该文件可以在表中显示mongodb db集合中的文档,并添加了select:option
可以过滤表。例如,在select:option
的{{1}}中,我选择了date
,它将仅显示日期为05/28/2019
的数据。并且我已经有一个可以下载表格的下载表格,但是“下载”按钮只能下载表格中的整个数据,而不能下载过滤后的数据。
我的问题是,是否有一种方法可以过滤表中的数据,然后单击下载,它只会下载过滤后的数据,而不是整个表。
请在此处查看示例代码{{3 }}
这是可以过滤表格的代码
05/28/2019
这就是我遵循的有关如何将html表下载到csv文件https://jsfiddle.net/indefinite/b63y928L/9/的内容
我希望一旦选择日期,它只会下载所选日期的数据。谢谢!
答案 0 :(得分:2)
您可以修改行选择器以仅选择可见行。 var rows = $("table tr:visible");
。由于您已经在使用jquery库,因此可以使用jquery选择器。
function export_table_to_csv(html, filename) {
var csv = [];
//var rows = document.querySelectorAll("table tr:visible");
var rows = $("table tr:visible");
for (var i = 0; i < rows.length; i++) {
var row = [], cols = rows[i].querySelectorAll("td, th");
for (var j = 0; j < cols.length; j++)
row.push(cols[j].innerText);
csv.push(row.join(","));
}
// Download CSV
download_csv(csv.join("\n"), filename);
}
查看更新的小提琴POST