Wie jQuery Tablesorter zu sortieren erhalten standardmäßig absteigend?
-
06-07-2019 - |
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?
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]] });