Я только начинаю с javascript, поэтому, пожалуйста, простите меня, если мой вопрос кажется глупым. Я хочу создать веб-страницу с некоторыми флажками, чтобы при первом проверке другие включались. Как мне это сделать с помощью JS? Я написал следующий код:Включить флажки с помощью 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;
}
}
}
И этот 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>
Проблема заключается в том, что на первом щелкните остальные флажки действительно становится доступным, но ничего не происходит на последующих кликов, то есть они не снова отключиться. Как исправить эту проблему? Любая помощь будет оценена. Благодаря!
EDIT
Я последовал совету gabitzish, и она работала. Тем не менее, сейчас я хочу передать Другие в качестве параметра, поэтому я пишу:
<input name="mainbox" value="mainbox" onclick="checkBox(Others)" type="checkbox"> Mainbox<br>
и изменить сценарий следующим образом:
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;
}
}
}
Но это не работает. Пожалуйста, помогите мне здесь. Я буду очень благодарен.
Спасибо! Это сделало то, что я хотел! – user828647
Я отредактировал свой ответ, и теперь параметр передается вашей функции – gabitzish
Вы подозреваете, что правильно, и ваше решение работает! Еще раз спасибо, и я принял ваш ответ как обещал :) – user828647