Ich beginne gerade mit Javascript, also bitte verzeihen Sie mir, wenn meine Frage dumm scheint. Ich möchte eine Webseite mit einigen Checkboxen so gestalten, dass wenn die erste Option aktiviert ist, die anderen aktiviert werden. Wie mache ich das mit JS? Ich schrieb den folgenden Code:Aktivieren Sie Kontrollkästchen mit Javascript
function checkBox() {
if (window.document.form1.mainbox.checked=true) {
for (i=0;i<window.document.form1.Others.length;i++) {
window.document.form1.Others[i].disabled=false;
}
}
else {
for (i=0;i<window.document.form1.Others.length;i++) {
window.document.form1.Others[i].disabled=true;
}
}
}
Und diese HTML:
<form name="form1">
<input name="mainbox" value="mainbox" onclick="checkBox()" type="checkbox"> Mainbox<br>
<input disabled="disabled" checked="checked" tabindex="0" name="Others" type="checkbox">No. 1<br>
<input disabled="disabled" checked="checked" tabindex="1" name="Others" type="checkbox"> No. 2<br>
<input disabled="disabled" checked="checked" tabindex="2" name="Others" type="checkbox"> No. 3<br>
</form>
Das Problem besteht darin, dass auf dem ersten klicken, um die anderen Kontrollkästchen aktiviert würden, aber es passiert nichts auf den nachfolgenden Klicks, das heißt, sie tun nicht wieder deaktiviert werden. Wie behebe ich dieses Problem? Jede Hilfe wird geschätzt. Vielen Dank!
EDIT
folgte ich den Vorschlag von gabitzish und es funktionierte. Allerdings möchte ich jetzt andere als Parameter zu übergeben, so dass ich schreiben:
<input name="mainbox" value="mainbox" onclick="checkBox(Others)" type="checkbox"> Mainbox<br>
und das Skript wie folgt ändern:
window.checkBox = function(chkname) {
if (window.document.form1.mainbox.checked==true) {
for (i=0;i<window.document.form1.chkname.length;i++) {
window.document.form1.chkname[i].disabled=false;
}
}
else {
for (i=0;i<window.document.form1.chkname.length;i++) {
window.document.form1.chkname[i].disabled=true;
}
}
}
Aber das funktioniert nicht. Bitte helfen Sie mir hier draußen. Ich werde sehr dankbar sein.
Vielen Dank! Das hat genau das gemacht, was ich wollte! – user828647
Ich habe meine Antwort bearbeitet und jetzt wird ein Parameter an Ihre Funktion übergeben – gabitzish
Sie vermuteten richtig, und Ihre Lösung funktioniert! Danke nochmal, und ich habe deine Antwort wie versprochen angenommen :) – user828647