2016-11-01 2 views
1

Ich versuche, eine JS-Funktion zu schreiben, die das Einfügen einer Suchleiste an der Spitze meiner Tabelle auslösen wird, da ich viele Seiten habe, die es brauchen, und ich hasse Duplizieren von Code . Diese Suchleiste mit der Klassensuche wird jedoch nach meinem Haupttablictor js ausgeführt.Tablesorter externe Sucheingabebalken Fehler beim Einfügen jquery

Alle meine Bemühungen, das Update auszulösen, sind fehlgeschlagen. Ich habe sogar versucht, das .tablesorter-Skript in der Konsole genau so auszuführen, wie es ausgeführt wird, bevor ich die Eingabezeile einfüge. Die externe Suchleiste funktioniert erstaunlich, wenn ich sie nur im HTML-Format belasse, aber ich kann nicht erreichen, dass sie irgendeine Art auslöst, sobald jquery involviert ist.

Ich frage mich, ob ich die js sofort auszuführen signalisieren konnte, weil meine tablesorter bis Seite Last wartet ...

filter_functions : { 
        filter_placeholder: { search : 'Search...' }, 
        filter_saveFilters : true 
       }, 
       //FOR SEARCH BAR 
       filter_external : '.search', 

...

jQuery(".buttons-on-right").prepend 

Antwort

0

Es gibt eine interne Filterfunktion (bindSearch), die das Binden von externen Sucheingaben nach dem Initialisieren des Tabellensorters ermöglicht. Verwenden Sie es wie folgt:

var table = $('#mytable'), 
    input = $('.search'); 
// the third parameter (set as false) forces a new search 
// on the current value of the newly added input; do not 
// include the third parameter to silently add the new input 
$.tablesorter.filter.bindSearch(table, input, false); 

Hinweis: Der externe Eingang muss eine data-column="#" Attribut, bevor es funktionieren wird. wird als nullbasierter Spaltenindex festgelegt oder als all festgelegt, um alle Spalten zu durchsuchen.