【发布时间】:2017-09-18 14:43:01
【问题描述】:
我使用的是 TableSorter 版本 2.28.1。我开启了过滤器。
widgets: ["zebra", "filter"]
我希望能够在显示表格之前在我的代码中关闭或打开过滤器。这基于来自上一页的参数。
我正在使用 C#,页面上的表格是一个 .net Gridview 控件。
有人有什么想法吗?
【问题讨论】:
标签: jquery filter tablesorter
我使用的是 TableSorter 版本 2.28.1。我开启了过滤器。
widgets: ["zebra", "filter"]
我希望能够在显示表格之前在我的代码中关闭或打开过滤器。这基于来自上一页的参数。
我正在使用 C#,页面上的表格是一个 .net Gridview 控件。
有人有什么想法吗?
【问题讨论】:
标签: jquery filter tablesorter
结合使用 applyWidgetId 和 removeWidget 方法来切换过滤器小部件 (demo):
HTML
<button type="button">Add Filter</button>
<table class="tablesorter">...</table>
脚本
$(function() {
var $table = $('table');
$('button').click(function(){
var btn = $(this),
addWidget = /add/i.test(btn.text());
if (addWidget) {
btn.text('Remove Filter');
$table.trigger('applyWidgetId', 'filter');
} else {
btn.text('Add Filter');
$table.trigger('removeWidget', 'filter');
}
return false;
});
$table.tablesorter({
theme: 'blue',
widgets: ['zebra']
});
});
【讨论】:
感谢@Mottie。 “applyWidgetId”是我需要的。对我来说,这有点简单。我只需要能够在初始化时根据变量的值打开或关闭过滤器。所以这就是我所做的......
widgets: ["zebra"],
initialized: function (table) {
if ('<%= showFilter %>' == 'Y')
{
$(table).trigger('applyWidgetId', 'filter')
}
【讨论】:
widgets...widgets: ["zebra", ("<%= showFilter %>" === "Y" ? "filter": "")] 可能更容易