2017-09-18 128 views
2

我正在使用TableSorter版本2.28.1。我打开了过滤器。jquery TableSorter - 如何动态关闭过滤器

widgets: ["zebra", "filter"] 

我希望能够在显示表格之前关闭或打开我的代码中的过滤器。这基于来自上一页的参数。

我使用的是C#,页面上的表格是.net Gridview控件。

任何人有任何想法?

回答

2

使用的applyWidgetIdremoveWidget方法的组合来切换滤波器微件(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'] 
    }); 
}); 
0

由于@Mottie。 “applyWidgetId”就是我所需要的。对我来说,这有点简单。我只需要能够在初始化时根据变量的值打开或关闭过滤器。所以这是我做过什么......

widgets: ["zebra"], 
initialized: function (table) {     
    if ('<%= showFilter %>' == 'Y') 
    { 
     $(table).trigger('applyWidgetId', 'filter') 
    } 
+0

将其添加到'widgets' ...'小部件这可能是更容易: “斑马”,( “<%= showFilter%>” == =“Y”?“filter”:“”)]' – Mottie

+0

Thanks @Mottie这很容易。 – rnesolydev