2009-05-13 3 views
1

Ich habe eine sortierte Ergebnistabelle für eine Sportveranstaltung. Wenn ich auf eine Überschrift klicke, möchte ich immer vom Besten zum Schlimmsten sortieren. Ich möchte nicht, dass es sich umkehrt, wenn ich erneut klicke. In einigen Fällen ist die "beste" die kürzeste Zeitdauer, und in anderen Fällen ist die "beste" die größte Menge (d. H. Das meiste Gewicht, die längste Entfernung). Ich hatte bisher wenig Glück.Wie erzwinge ich jQuery tablesorter immer eine Spalte in eine Richtung zu sortieren?

Antwort

2

Niemals früher Tablesorter benutzt, aber wenn man kurz hinschaut, scheint es nicht so zu sein, als ob es das tut, was man will. Hier sind ein paar (ungetested) Hacks, die ich kam:

Ein Weg (kurz die Plugin-Quelle zu ändern) wäre, auf this example abzuholen und fügen Sie einen Klick-Event-Handler zu Ihren Header-Zellen, um Ihre Sortierung mit zu lösen eine definierte Reihenfolge Möglicherweise müssen Sie den Handler entfernen, den das tablesorter-plugin hinzugefügt hat, oder false von Ihrem Handler zurückgeben, um eine doppelte Sortierung zu vermeiden.

Alternativ, wenn Sie nicht Angst haben, die Plugin Quelle zu ändern, sieht es aus wie Linie 536 diejenige, die Sie wollen, ist:

// get current column sort order 
this.order = this.count++ % 2; 

ersetzen this.count++ % 2 mit 0 für aufsteigend, absteigend 1 für. Sie könnten es auch robuster machen, indem Sie eine "erzwungene Reihenfolge" als Option hinzufügen (siehe Zeilen 94-114) und vielleicht sogar ein Array erstellen (wie sortList), um anzugeben, für welche Spalten die Reihenfolge erzwungen werden soll.

Viel Glück!

+0

Ja, das ist ziemlich genau das, was ich mir angesehen habe, wollte nur sehen, ob es irgendeinen anderen Weg gab ... Danke. – ryanrdl

+0

und hier ist ein weiterer Tipp, denke ich, wie ich diese Funktionalität selbst brauchte ... diese Sorte DESC das erste Mal herum, aber in der Lage, ASC beim nächsten Klick zurückzugreifen, ändern Sie einfach diese Zeile: this.order = + + this.count% 2; –

+0

Danke. Die Zeilen, auf die Sie hingewiesen haben, führen mich in die richtige Richtung. –

Verwandte Themen