2017-09-18 2 views
2

J'utilise TableSorter Version 2.28.1. J'ai les filtres allumés.jquery TableSorter - Comment désactiver les filtres dynamiquement

widgets: ["zebra", "filter"] 

Je souhaite pouvoir activer ou désactiver les filtres dans mon code avant d'afficher la table. Ceci basé sur les paramètres venant de la page précédente. J'utilise C# et le tableau sur la page est un contrôle .net Gridview.

Vous avez des idées?

Répondre

2

Utilisez une combinaison des applyWidgetId et removeWidget méthodes pour activer le widget filtre (demo):

HTML

<button type="button">Add Filter</button> 
<table class="tablesorter">...</table> 

Script

$(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

Merci @Mottie. Le "applyWidgetId" était ce dont j'avais besoin. Pour moi, c'était un peu plus simple. Je devais simplement pouvoir activer ou désactiver le filtre au moment de l'initialisation en fonction de la valeur d'une variable. Voilà donc ce que je l'ai fait ...

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

Il est peut-être encore plus facile de l'ajouter à la liste '' widgets' ... widgets: [ "zèbre", ("<% = showFilter%>" == = "Y"? "Filtre": "")] '' – Mottie

+0

Merci @Mottie C'est plus facile. – rnesolydev