作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始使用 javascript,所以如果我的问题看起来很愚蠢,请原谅我。我想设计一个带有一些复选框的网页,这样当选中第一个复选框时,其他复选框就会启用。我该如何使用 JS 来做到这一点?我编写了以下代码:
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>
问题是,第一次单击时,其他复选框确实被启用,但后续单击时没有任何反应,即它们不会再次被禁用。我该如何纠正这个问题?任何帮助将不胜感激。谢谢!
编辑
我听从了gabitzish的建议,结果成功了。但是,我现在想将Others作为参数传递,所以我写:
<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;
}
}
}
但这不起作用。请帮我一下。我将非常感激。
最佳答案
这条线有问题(你缺少一个=)
if (window.document.form1.mainbox.checked=true)
尝试将其更改为
if (window.document.form1.mainbox.checked)
关于javascript - 使用 Javascript 启用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10140678/
我是一名优秀的程序员,十分优秀!