Jquery Tablesorter - Sortierung nach Spalten mit Eingabeelementen

7

Ich habe eine Tabelle wie folgt:

%Vor%

Wo die Update-Spalte die Checkboxen <input type='checkbox' /> enthält.

Der Anfangszustand des Kontrollkästchens wird vor dem Rendern der Tabelle bestimmt, aber nachdem die Zeilen aus der Datenbank abgerufen wurden (basierend auf den Bedingungen auf der Serverseite).

Das Kontrollkästchen kann standardmäßig aktiviert, nicht standardmäßig deaktiviert oder deaktiviert sein ( disabled='disabled' als input Attribut).

Ich verwende JQuery's Tablesorter , um meine Tabellen zu sortieren. Und ich würde gerne nach der Spalte mit den Checkboxen sortieren können. Wie ist es möglich (ich könnte einige zusätzliche Attribute an mein input Element übergeben, wenn es helfen würde ...)?
Soll ich meinen eigenen Parser schreiben, um damit umzugehen?

    
kender 16.12.2009, 07:32
quelle

7 Antworten

15

Fügen Sie einen versteckten Bereich kurz vor der Eingabe hinzu und fügen Sie darin einen Text ein (der zum Sortieren der Spalte verwendet wird). Etwas wie:

%Vor%

Bei Bedarf können Sie ein Ereignis an das Kontrollkästchen anhängen, so dass es den Inhalt des vorherigen Geschwisters (den Bereich) beim Aktivieren / Deaktivieren ändert:

%Vor%

Hinweis: Ich habe den Code nicht überprüft, daher kann es Fehler geben.

    
salgiza 16.12.2009, 07:59
quelle
11

Dies ist die vollständigere / korrekte Version von Haarts Antwort.

%Vor%     
Aaron Schif 26.03.2013 15:22
quelle
4

Sie können das jQuery-Plug-in tablettsorter verwenden und einen benutzerdefinierten Parser hinzufügen, der alle Kontrollkästchenspalten sortieren kann:

%Vor%     
domenu 04.12.2013 10:58
quelle
3

Ich füge diese Antwort hinzu, weil ich eine unterstützte / gegabelte jQuery TableSorter-Bibliothek mit neuen Funktionen verwende. Eine optionale Parser-Bibliothek für Eingabe / Auswahl-Felder ist enthalten.

Ссылка

Hier ist ein Beispiel: Ссылка und es wird getan, indem die Eingabe / Auswahl-Parser-Bibliothek "parser-input-select.js" hinzugefügt wird, ein Header-Objekt hinzugefügt wird und die Spalten und der Parsingtyp deklariert werden.

%Vor%

Zusätzliche enthaltene Parser sind: Datumsanalyse (w / Sugar & amp; DateJS), ISO8601-Daten, Monate, 2-stellige Jahre, Wochentage, Entfernung (Fuß / Zoll und metrisch) und Titelformat (entfernt "A" & amp; " Das").

    
James Moberg 09.09.2013 20:06
quelle
1

Sie können TableSorter einen benutzerdefinierten Parser hinzufügen, etw so:

%Vor%

Und dann benutze es in deiner Tabelle

%Vor%     
Kain Haart 21.12.2009 13:06
quelle
0

Nur ein letzter Schliff, um Aarons Antwort zu vervollständigen und die Stapelüberlauffehler zu vermeiden. Zusätzlich zur Verwendung der $.tablesorter.parser() -Funktionalität, wie oben beschrieben, musste ich Folgendes auf meiner Seite hinzufügen, damit es zur Laufzeit mit aktualisierten Kontrollkästchenwerten funktioniert.

%Vor%     
thanassis 29.05.2015 08:11
quelle
0

%Vor%

%Vor%
    
Tarek Sahalia 17.10.2016 14:57
quelle