Checkboxen und Radio-Buttons haben unter anderem 2 wichtige Eigenschaften: value und checked.
Beispiel
myCheckbox.value
= Wert des Html-Attributs value
myCheckbox.checked
= Ein boolscher Wert, der true liefert, wenn der Radio Button aktiviert ist.<input type="checkbox" name="farbe" value="gelb">
<input type="checkbox" name="farbe" value="orange" checked>
<input type="checkbox" name="farbe" value="rot">
<input type="checkbox" name="farbe" value="blau" checked>
<p id="output"></p>
Wenn man mittels DOM Methoden auf mehrere Checkboxen zugreift, bekommt man ein Array.
let chBx = document.querySelectorAll("input[name='farbe']);
Wie jedes Array kann man die Elemente über den Array-Zugriffsoperator ansprechen. In einer for -Schleife kann man alle Elemente des Arrays durchlaufen.
chBx[0].value
chBx[0].checked
Oder man nutzt eine for-Schleife, um alle Elemente anzusprechen Beispiel
for(var i=0; i < chBx.length; i++){ output.innerHTML += chBx[i].value; }
Möchte man die Werte der aktivierten Checkboxen auslesen, durchläuft man die Elemente und fragt die Eigenschaft checked
ab.
for(var i=0; i < chBx.length; i++){ if(chBx[i].checked == true){ output.innerHTML += chBx[i].value; } }
Beispiel
Ein Button mit der id="btn" ruft diese function auf.
var btn = document.getElementById("btn"); var chBx = document.querySelectorAll("input[name='farbe']"); var output = document.getElementById("output"); btn.addEventListener("click", checkCheck); function checkCheck(){ output.innerHTML =""; for(var i=0; i < chBx.length; i++){ if(chBx[i].checked == true){ output.innerHTML += chBx[i].value; } } }
Das change
Ereignis tritt ein, wenn man den Wert einer Checkbox oder Radio-Buttons geändert hat.
Im folgenden Beispiel liefert der Event-Listener über currentTarget
das angeklickte Element und daraus den Wert.
for(var i = 0; i < chBx.length; i++){ chBx[i].addEventListener("change", checkCheck); } function checkCheck(evt){ output.innerHTML = evt.currentTarget.value+" Wert: "+evt.currentTarget.checked; }
Eine Checkbox auf true oder false abfragen. Im folgenden Beispiel erfolgt der Funktionsaufruf über einen HTML Event Handler
Beispiel
HTML
<input type="checkbox" id="checki" onclick="checkIt()"> <p id="output"></p>Javascript
function checkIt() { var aktiv = document.getElementById("checki").checked; document.getElementById("output").innerHTML = aktiv; }