LX: Link bzw DIV nur bei aktivierter Checkbox anzeigen?

Beitrag lesen

Dein Hauptfehler ist: Du machst es zu kompliziert! So geht das:

<input type="checkbox" id="cb1" onclick="checkBoxes();">  
<input type="checkbox" id="cb2" onclick="checkBoxes();">  
<a href="#" id="lnk" style="display: none;">
function checkBoxes() {  
   document.getElementById('lnk').style.display =  
     ((document.getElementById('cb1').checked ||  
       document.getElementById('cb2').checked) ? 'inline' : 'none');  
}

Bevor Du jetzt die Geschwister von Bonnie und Clyde, nämlich Copy und Paste rausholst, versuche bitte, diesen Code zu verstehen. Alles, was Du machen willst, ist:

Wenn eine der beiden Checkboxen die Eigenschaft checked positiv zurückgibt, soll der display-Wert im Style-Attribut des Links (oder von mir aus auch dem div, das kannst Du gern anpassen) auf 'inline' (oder block bei div) gesetzt werden, sonst auf 'none'.

Im JavaScript-Code findest Du eine verkürzte if-Abfrage, die folgendermaßen aussieht: [Bedingung] ? [Wenn ja] : [Wenn nicht];

Diese Schreibweise ist kürzer und in diesem Fall lesbar genug, dass nicht eine if-Abfrage sinnvoller wäre. Des weiteren sind alle Parameter bei dem Script überflüssig, da wir die Werte, die wir einlesen, ohnehin aus Objekten mit ID bekommen. Je weniger JavaScript wir ins HTML packen, desto besser.

Gruß, LX

--
X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: Unusual
X-Please-Search-Archive-First: Absolutely Yes