【问题标题】:Extracting filtered table data提取过滤后的表数据
【发布时间】:2013-01-17 08:05:47
【问题描述】:

我想知道是否可以从使用 JQuery tableSorter 插件/小部件过滤的表中提取过滤后的数据。

我显示了一个大表,然后我使用普通的 tablesorter 功能对其进行过滤/排序 - 但我想做的是能够获取这个较小的表并从中导出一些数据

这是一个成员列表 - 所以我希望能够从过滤后的(例如,整个特定年龄的)数据中导出数据(例如电子邮件地址),这样我就可以向这些选定的人发送电子邮件,而无需手动输入他们等等。

这很容易做到吗?如果有人能指出我从哪里开始等正确的方向,我不介意我是否必须自己写一些东西?

感谢您提供的任何帮助, 克里斯

【问题讨论】:

  • 您使用的是原始的tablesorter吗?如果是这样,您使用的是哪个过滤器插件?还是你在用我的forked version of tablesorter
  • 嗨 Mottie,我正在使用带有斑马和过滤器插件的原始版本。感谢您的回复
  • 对不起 Mottie 我没有注意到你回复得这么快。它只是标准/提供的插件。JS 文件在顶部有这个:'tableSorter 2.4+ 小部件 - 更新于 2012 年 12 月 26 日'我在 $("#memberListTable").tablesorter({ ... widgets: ["zebra", "filter"], 的初始化中使用以下行简单地定义了它
  • 所以看起来你正在使用分叉版本......我会添加我的答案。

标签: jquery jquery-plugins tablesorter


【解决方案1】:

您需要做的就是找到可见的表格单元格并保存它们的数据。

我不确定您希望如何导出数据,所以我在this demo 中选择了 csv:

$('.export').on('click', function(){
    var csv = [];
    // find only visible rows; we're ignoring filtered/hidden rows
    $('table').find('tbody tr:visible').find('td').each(function(){
        csv.push( $(this).text() );
    });
    // do what you want with the csv data here
    $('textarea').val( csv.join(',') )
});

【讨论】:

  • 当你有 jQuery v1.7+ 时使用on()。对于旧版本的 jQuery,请使用 bind()。参考this question
猜你喜欢
  • 1970-01-01
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多