【发布时间】:2014-04-26 00:56:30
【问题描述】:
TableSorter 是一个很棒的 jquery 脚本,可以使用许多选项对 html 表进行排序。
但我不知道如何添加一个简单的“导出到 csv”按钮(或链接)来获取包含我的表记录的文件(没有特殊格式)。
我知道输出插件,但对我来说似乎太复杂了。
提前感谢您的帮助!
泰德
【问题讨论】:
标签: tablesorter
TableSorter 是一个很棒的 jquery 脚本,可以使用许多选项对 html 表进行排序。
但我不知道如何添加一个简单的“导出到 csv”按钮(或链接)来获取包含我的表记录的文件(没有特殊格式)。
我知道输出插件,但对我来说似乎太复杂了。
提前感谢您的帮助!
泰德
【问题讨论】:
标签: tablesorter
它实际上并不复杂,只是因为所有选项而看起来令人生畏。 output widget 可以输出 csv、tsv、任何其他分隔(空格、分号等)值、javascript 数组或 JSON。
如果您只是使用基本功能,默认设置将:
您只需要此代码 (demo):
HTML
<button class="download">Get CSV</button>
<table class="tablesorter">
....
</table>
脚本
$(function () {
var $table = $('table');
$('.download').click(function(){
$table.trigger('outputTable');
});
$table.tablesorter({
theme: 'blue',
widgets: ['zebra', 'output']
});
});
我创建了another demo,显示所有选项,并带有一组单选按钮,允许用户在将输出发送到弹出窗口或下载文件之间进行选择。
HTML
<label><input data-delivery="p" name="delivery" type="radio" checked /> popup</label>
<label><input data-delivery="d" name="delivery" type="radio" /> download</label>
<button class="download">Get CSV</button>
脚本
var $table = $('table');
$('.download').click(function(){
// get delivery type
var delivery = $('input[name=delivery]:checked').attr('data-delivery');
$table.data('tablesorter').widgetOptions.output_delivery = delivery;
$table.trigger('outputTable');
});
因此,您可以根据需要将其设置为简单或复杂(参见实际的output widget demo,它允许用户设置几乎所有选项)。
【讨论】:
output_dataAttrib option 允许您设置数据属性的名称,该名称可以包含要发送到输出的任何覆盖文本.单击该链接并查看示例。