Re: onClick Background-Color einer Checkbox ändern
Von: Robin Rattay (rotora@gmx.net) [Profil]
Datum: 20.06.2008 12:29
Message-ID: <1bf199a9-9da4-4c1c-829e-509af16071f9@p25g2000hsf.googlegroups.com>
Newsgroup: de.comp.lang.javascript
Datum: 20.06.2008 12:29
Message-ID: <1bf199a9-9da4-4c1c-829e-509af16071f9@p25g2000hsf.googlegroups.com>
Newsgroup: de.comp.lang.javascript
On 20 Jun., 09:38, Adrian Stern <adrian.st...@phzh.ch> wrote: > Ich möchte eine Checkbox wenn sie geklickt wird, mit einer Farbe > Hinterlegen. > Oder am besten gleich den hintergrund der darumliegenden Tabellenzelle. > > Wie greiffe ich darauf zu? > > _javascript: document.Formular.IDdesElements.??? Formular-Elemente werden im Elements-Collection des Formulars mit dessen Namen nicht ID angesprochen: document.NameDesFormulars.NameDesElements Wobei es eindeutiger und lesbarer ist die "lange" Form zu benutzen: document.forms["NameDesFormulars"].elements["NameDesElements"] Altenativ können alle HTML-Elemente (nicht nur Formular-Elemente) mit der ID angesprochen werden: document.getElementById("IdDesElements") In deinem Fall brauchst du aber beides nicht, da im Event-Handler die Referenz zum Checkbox mit this erreichbar ist (siehe unten). > verschachtelt ist das ganze so: > > <td> > <span style="background-color:Yellow;"> > <input id="ID" type="checkbox" name="Name" /> > </span>< > /td> Ist der SPAN wirklich nötig/richtig? Du willst doch den Hintergrund der ganzen Zelle und nicht nur "drum herum" markieren, oder? > Wie setze ich den Hintergrund eines Elements? ReferenzZumElement.style.backgroundColor = "yellow"; > Wie kriege ich das darüberliegende Element heraus? parentNode Einfaches Beispiel: <td> <input type="checkbox" name="Name" onclick="this.parentNode.style.backgroundColor = (this.checked ? 'yellow' : 'white')" /> </td> Wenn du es öffter einsetzt ist es besser das ganze in eine Funktion zu packen und this als Parameter zu übergeben. Robin[ Auf dieses Posting antworten ]
Antworten
- Adrian Stern (20.06.2008 13:23)
- Robin Rattay (20.06.2008 15:01)
- Thomas 'PointedEars' Lahn (21.06.2008 19:02)
