2017-09-18 50 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