Gunnar Bittersmann: Javascript Tabelle filtern

Beitrag lesen

@@whine

Mit <tr id="{id}"> im Template bekomme ich <tr id="123"> im HTML.

Ich hab da mal was gebastelt. Jede Tabellenzeile hat eine --id (es müssen Zahlen sein) und für die Tabelle wird der --filter angegeben, welche Zeile zu sehen sein soll. Und das mit custom properties – mit denen kann man rechnen.

Es wird die Differenz --diff zwischen --id und --filter berechnet; für die Zeile, die zu sehen sein soll, kommt 0 raus, für alle anderen irgendein anderer Wert. Der Trick ist nun, --diff durch sich selbst zu teilen. Bei allen Zeilen, die ausgeblendet werden sollen, kommt 1 raus. Davon 1 abgezogen und als Höhe zugewiesen und schwupps sind die Zeilen weg (zumindest visuell). Bei der einen auserwählten Zeile geht die Division durch 0 nicht; es wird kein sinnvoller Wert für die Höhe zugewiesen und damit bleibt diese Zeile so wie sie ist.

Das ist aber nicht mehr als ein proof of concept; beileibe keine Lösung, denn:

  • die Ausblendung erfolgt nur visuell; Screenreader lesen weiterhin alles vor

  • der Wert für --filter muss ja irgenwie ins Markup kommen – durch Scripting. Dann kann das Script aber auch gleich das Ausblenden der Tabellenzeilen (hidden) übernehmen.

Mein Problem ist die Übergabe des URL-Parameters zum Ausblenden aller anderen Zeilen.

Eben.

LLAP 🖖

--
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann