从 HTML table 导出记录的最佳实践

Best practices of exporting records from HTML table

我正在使用 tablesorter 作为视图。我有 table 条记录,导出有 3 种情况:

  1. 从所有页面全部导出
  2. 仅通过复选框选择导出
  3. 仅导出过滤后的记录

我对如何实现这些场景有点困惑... 以下是我的假设和疑虑:

  1. 全部导出 - 只需使用 $('#table tr')。是的,它真的会导出所有
  2. 仅导出选定的 - 再次使用 $('#table tr') 并为每个项目检查复选框是否已启用
  3. 过滤记录。我很困惑。我可以使用 $('#table tr:visible'),但是如果我有 12 条筛选记录,但页面上只有 10 条记录,而另外 2 条记录在另一页上怎么办?

对于这 3 种情况,是否有一些关于如何确定哪些记录应该导出(到 csv/xls)的最佳实践?

output widget has a output_savedRows option有以下设置:

  • "filtered" 输出与过滤器查询匹配的行。它通过使用以下选择器来做到这一点:

    $('tr').not('.filtered')
    

    a class 由 filter_filteredRow option

  • 添加
  • "visible" 只输出可见行。被分页器、过滤器或设置为 display: none 隐藏的行将不会包含在输出中。本例中使用可见选择器:

    $('tr:visible')
    
  • "all" 将输出所有行。这包括隐藏和过滤的行。

    $('tr')
    

  • 我计划在 v2.22.2 中添加一个新设置 "selected",它将使用一个新选项 output_selected,其中包含一行 class 名称输出小部件用于包含在输出中。

    $('tr.selected')