Frage

Das kann ich nicht herausfinden. Diese Frage wurde auch hier http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761 ohne Antwort.

Ich habe versucht,

    $.tablesorter.defaults.sortInitialOrder = 'desc';

und die jquery.tablesorter.js Datei auf ‚desc‘ auf Standard zu ändern, aber es funktioniert nicht. Wenn ich auf die Spaltenüberschriften klicken, wird der erste aufsteigend sortieren nach wie vor, damit der Benutzer zweimal die Werte absteigen klicken hat.

Wie kann ich Tablesorter nach absteigend standardmäßig zu sortieren bekommen?

War es hilfreich?

Lösung

Sieht aus wie ein Fehler in dem tablesorter Code, oder ich bin Missverständnis, was die sortInitialOrder Parameter tun soll. In Zeile 536 setzt sich den Sortierer, um bei der Anzahl der Male, indem Sie die Spalte sortiert wurde und unter dem Wert mod 2. Es soll auch berücksichtigen, den Wert von sortInitialOrder.

Ändern Sie Zeile 536 aus

this.order = this.count++ % 2;

this.order = this.count++ == 0 ? this.order : (1 - this.order);

Und fügen Sie nach dieser Zeile (so dass der erste Klick auf eine andere Spalte Sie die Standard gibt)

$headers.not($cell).each( function() {
    this.count = 0;
});

und Änderungslinie 421 von

o.count = s[1];

o.order = o.count = s[1];

, so dass die Erstbestellung außer Kraft gesetzt wird, wenn ein sortList angewandt wird.

Dann können Sie den sortInitialOrder Parameter verwenden, um Tablesorter eine Standard erste Sortierreihenfolge für die Spalte einzurichten. Alle in der sortList vorgesehene Bestellung wird die sortInitialOrder für die gesamte Tabelle zur Verfügung gestellt außer Kraft setzen.

Beachten Sie, dass diese 2,0 bis Tablesorter gilt.

Andere Tipps

Versuchen Sie die neueste Version von dem tablesorter Ort - dies scheint zwischen Version 2.0.3 und 2.0.5 irgendwo befestigt zu werden.

<script type="text/javascript">
$(document).ready(function() 
    { 
        $("#theTable").tablesorter({ 
            sortInitialOrder: 'desc',
            sortList: [[3,1]] // etc.

    }); 
    } 
); 
</script>

..., die mit der neuesten Version von tablesorter gearbeitet, aber nicht mit dem vorherigen ich hatte. Hoffe, es hilft!

Ganz einfach verwenden, zweites Element in Array Sortierreihenfolge (0 = aufsteigend, 1 = absteigend):

.tablesorter({ sortList: [[0, 1]] });
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top