datatables - Sortierung speichern
Bernd
- javascript
Guten Morgen,
ich verwende das datatables.net Script um meine Tabelle zu sortieren. Klappt auch wunderbar. Dazu habe ich eine Frage, ist es irgendwie möglich den Wert der Sortierung zu speichern dass ich nicht immer wieder die Sortierung festlegen muss? Auf der Seite finde ich irgendwie nichts. Vielleicht gibt es ja doch eine Möglichkeit.
$(".uebersicht").DataTable({
"ordering": true,
"paging": false,
"order": [[ 0, 'asc' ]],
"oLanguage": {
"sSearch": "Suche:",
"sZeroRecords": "Keine Einträge gefunden"
}
});
@@Bernd
ich verwende das datatables.net Script um meine Tabelle zu sortieren. Klappt auch wunderbar.
Du verwendest aber nicht dasselbe kaputte Markup wie im dortigen Beispiel? Damit klappt das jedenfalls nicht. click
-Event auf th
-Elemente registriert, ohne dass da irgendein interaktives Element (button
) wäre 😱 – mal wieder ein Musterbeispiel dafür, dass viele JavaScript-Programmierer von Frontent-Entwicklung keinen blassen Schimmer haben.
LLAP 🖖
Hallo Gunnar,
zumindest haben sie sich Mühe gegeben, die th Elemente zur Interaktivität zu vergewaltigen, es sind etliche aria-Attribute vorhanden und eine Tastaturbedienung ist auch möglich.
Rolf
Hallo,
ich komme mit der TAB-Taste von Spalte zu Spalte und dann mit ENTER die Sortierung auslösen also kein Grund zum meckern? Passt alles?
@@Bernd
ich komme mit der TAB-Taste von Spalte zu Spalte und dann mit ENTER die Sortierung auslösen also kein Grund zum meckern? Passt alles?
Nö, beim Drücken der Leertaste springt man irgendwohin. Drücken der Leertaste ist aber genau das, wo ich erwarte, dass die Funktion ausgelöst wird, weil das die Standardbedienung eines Buttons ist.
Die Entwickler wollten vielleicht etwas Gutes tun, haben aber nicht die dafür notwendigen Kenntnisse.
LLAP 🖖
@@Rolf B
zumindest haben sie sich Mühe gegeben, die th Elemente zur Interaktivität zu vergewaltigen, es sind etliche aria-Attribute vorhanden
Verletzung der ersten Direktive: Verwende nicht ARIA, wenn es HTML-Elemente für diesen Zweck gibt.
und eine Tastaturbedienung ist auch möglich.
Aber nicht die standardmäßige, die ich erwarte: Bedienung per Leertaste.
LLAP 🖖
Hallo,
selbstverständlich verwende ich genau dieses Beispiel wie du in meinem Code siehst. Ich habe von dem Script keine Ahnung also muss ich mich darauf verlassen? Und zur Info, es tut genau das was es soll, nämlich sortieren ohne dass die Seite neu geladen werden muss.
@@Bernd
selbstverständlich verwende ich genau dieses Beispiel wie du in meinem Code siehst. Ich habe von dem Script keine Ahnung also muss ich mich darauf verlassen?
Ja, genau das ist der Punkt. Anwender haben oftmals keine Ahnung und müssen sich darauf verlassen, was sie von Entwicklern so geboten kriegen. Und eben deshalb müssen Entwickler Ahnung davon haben, was sie da eigentlich tun. Die Entwickler dieses Dingens haben keine Ahnung, was sie da gebaut haben.
Vermutlich ist schon viel getan, einfach einen jeweils button
in die th
s zu setzen:
<th>Name</th>
→ <th><button>Name</button></th>
.
Geht aber noch besser, dem Button eine aussagekräftige Beschriftung zu verpassen. Siehe sortierbare Taballe als Webcomponent (die Buttons werden dort mit JavaScript hinzugefügt, also das DOM ansehen, nicht den HTML-Quelltext) und @JürgenBs Tutorial Tabellen dynamisch sortieren.
LLAP 🖖
Ok, es gibt doch eine einfache Möglichkeit die Sortierung zu speichern:
https://datatables.net/examples/basic_init/state_save.html
Das ganze sieht dann so aus:
$(".uebersicht").DataTable({
"ordering": true,
"paging": false,
"stateSave": true,
"order": [[ 0, 'asc' ]],
"oLanguage": {
"sSearch": "Suche:",
"sZeroRecords": "Keine Einträge gefunden"
}
});
Hallo Bernd,
RTFM
Update: Ich sehe mich durch stateSave korrigiert 😀.
Rolf