InternInhaltsverzeichnisGlossarBausteineLinklisteTutorialsKommentare

Thema: JavaScript - HTML-Tabelle sortieren Artikel anzeigen

GvS schrieb am Montag, den 2 Mai 2022 #1
Ich habe mir diese Tabelle mal angesehen und eine Frage dazu.
Wenn ich den Quelltext in eine HTML umwandele und mir das Ergebnis im Browser ansehe, fällt mir was auf.
Erweitere ich die aus 3 Elementen bestehende Tabelle um weitere 3 funktioniert die alphabetische Sortierung nur bedingt, wenn die Anfangsbuchstaben mal groß, mal kleine geschrieben sind.
Dann nämlich werden erst die Namen mit großem Anfangsbuchstaben, danach die mit Kleinem sortiert.
Ich brauche eine solche Tabelle zum Sortieren meiner Logins. Da wäre eine globale Sortierung, egal ob groß oder klein erwünscht.
Werner schrieb am Montag, den 2 Mai 2022 #2
Hallo GvS,

ich habe das Script nun so angepasst das Große und kleine Anfangsbuchstaben sortiert werden.
Ein Problem sind noch Namen mit Umlauten (wie: Ägidius, Ämilius, Ömer, Özgur, ...) diese werden fehlerhaft sortiert.

Nachtrag: 19.12.2020
Das Problem mit den Umlauten wurde behoben.
GvonS schrieb am Dienstag, den 3 Mai 2022 #3
Danke, jetzt läufts wie gewünscht. Hab das jetzt noch mit dem HTML-Tabelle-Filtern-Script verbunden und meine ideale Tabelle.
Natalia ✶✶✶✶✶ schrieb am Montag, den 9 Mai 2022 #4
Hallo Werner,

danke für den Code, das funktioniert prima.
Ich habe aber eine Frage, wie kann man eine Spalte von der Sortierung ausschließen?

Gruß
Natalia
Werner schrieb am Montag, den 9 Mai 2022 #5
Hallo Natalia,

das ist leider nicht möglich.
Unter j-berkemeier.de/TableSort.html gibt es ein sehr gute Tabellensortierung mit vielen Einstellmöglichkeiten.

Nachtrag: 02.12.2022
Die Spalte in der Tabelle kann man nun von der Sortierung ausschließen (siehe Beschreibung oben).
Fabian schrieb am Montag, den 14 August 2023 #6
Hallo,
ich möchte meine Tabelle auch sortierbar machen.
Diese wird aber dynamisch erzeugt.
Per Funktion wird der html-Code erzeugt, in einer Text-Variable gesammelt und anschließend mit resultsContainer.innerHTML ausgegeben.

Ich habe es getestet mit ihrem Code - mit statischer Tabelle klappt alles, mit dynamischer leider nicht.
Werner schrieb am Montag, den 14 August 2023 #7
Die JS-Funktion darf erst aufgerufen werden, wenn die Tabelle geladen wurde.
Siehe: CSV-Datei einlesen und dynamisch al[…]e ausgeben
Peter ✶✶✶✶ schrieb am Dienstag, den 10 Oktober 2023 #8
Hallo Werner.
Besten Dank für die Bereitstellung des scripts. Gibt es eine Möglichkeit Spalten mit Zahlen, welche auch Leerzellen (N/A oder -) enthalten zu sortieren? Dies scheint der code momentan nicht korrekt umzusetzen.
Werner schrieb am Mittwoch, den 11 Oktober 2023 #9
Hallo Peter, das ist leider nicht möglich. Unter: j-berkemeier.de/TableSort.html gibt es eine sehr gute Tabellensortierung mit vielen Einstellmöglichkeiten.
noch ein Peter schrieb am Mittwoch, den 25 Oktober 2023 #10
@Peter
Ich hatte mal eine ähnliche Anforderung und das könnte Dir helfen.
Um auch Zeilen mit Zahlen + Buchstaben zu sortieren, habe ich den Bereich case "number" um eine "IF"-Abfrage erweitert.
Der Zelleninhalt muss mit einer Zahl beginnen, wonach sortiert werden kann.
Und der Text nach der Zahl wird nicht weiter bei der Sortierung berücksichtigt.

Es werden leere Zellen oder Zellen mit '-' gefiltert und mit einem hohen Sortierungswert versehen.
So werden die Zellen beim sortieren nach vorn/hinten geschoben.
...den Wert für content habe ich so hoch gesetzt, da bei mir bei der Sortierung recht hohe Werte entstanden sind.

Beim "IF" kann man noch weitere Werte abfragen, die würden dann auch berücksichtigt.
Du könntest die Abfrage auch splitten und für unterschiedliche Zeichen einen eigenen Sortierungswert hinterlegen.

1
2
3
4
5
6
7
8
9
10

switch (type) {
                case "number":

                    if(content.trim() == '%C2%A0' || content.trim() == ''  || content.trim() == '-' ) {
                        content = 1000000000000000000000000000000000000000000000;
                    }

                    return parseFloat(content);