Cybaer: zeilen und spalten einer tabelle ein- und ausblenden lassen

Beitrag lesen

Hi,

dabei hilft mir ein array:

Auch 'ne Möglichkeit.

Aber als "assoziatives Array" (sprich: Object) mit der ID als Schlüssel ist es vielleicht sinnvoller. Am einfachsten ist aber: Direkt als Objekt des jeweiligen (TR-)Elements!

Beispiel:

document.getElementById("zeile1").klappe="fold";
alert(document.getElementById("zeile1").klappe)

Vorgehensweise: Zur Initialisierung alle TRs durchgehen (schneller: nur die TRs der bewußten Tabelle). Ist es eine "zu klappende TR" (Eigenschaft id hat z.B. einen passenden Wert), dann verpaßt man der TR zum einen den passenden Eventhandler (onclick mit einer Funktion, die den toggle()-Aufruf enthält) und zum anderen, s.o., das "Status-Objekt" klappe.

Die "onclick-Funktion" hat dann neben dem toggle()-Aufruf noch die "Wechsel-Syntax", die einheitlich so aussehen kann:

this.klappe=(this.klappe=="fold")?"unfold":"fold"

(this ist der Verweis auf das Element des onClicks, also die jeweilge TR)

Ist schön kurz & elegant, im HTML-Code ist nichts mehr von der Klapperei zu sehen (außer, daß die Elemente eine ID haben), und molily hat wieder ein schönes Beispiel fürs "Unobtrusive JavaScript" ... ;)

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!