【发布时间】:2017-09-08 17:17:30
【问题描述】:
我有一组复选框按钮,如果我单击并选中一个,我希望将其他复选框设置为禁用。此外,如果我单击相同并取消选中我希望启用所有这些。如果我选中了复选框,我的逻辑就可以工作,但如果我再次单击,它们都会被禁用。这是我的代码:
<tr><td><input type="checkbox" name="progress" id="progress1" value="1" tabIndex="1" onClick="ckChange(this)">Test 1</td></tr>
<tr><td><input type="checkbox" name="progress" id="progress2" value="1" tabIndex="1" onClick="ckChange(this)">Test 2</td></tr>
<tr><td><input type="checkbox" name="progress" id="progress3" value="1" tabIndex="1" onClick="ckChange(this)">Test 3</td></tr>
<tr><td><input type="checkbox" name="progress" id="progress4" value="1" tabIndex="1" onClick="ckChange(this)">Test 4</td></tr>
function ckChange(ckType){
var ckName = document.getElementsByName(ckType.name);
for(var i=0; i < ckName.length; i++){
if(!ckName[i].checked){
ckName[i].disabled = true;
}else{
ckName[i].disabled = false;
}
}
}
选中复选框时,我当前的代码未能将禁用属性设置为 true 和 false。如果您发现我的代码中的问题出在哪里,请告诉我。 我试图让这个功能适用于任何一组复选框。如果您看到任何改进的方法,我想听听。
【问题讨论】:
-
愚蠢的问题。你能用单选按钮代替吗?如果它们具有相同的 Name 属性,则不能选择超过 1 个
-
我必须使用复选框元素,问题可能很愚蠢,但如果可能的话,我正在努力让它发挥作用。
-
如果我希望所有这些都被取消选中。
标签: javascript html checkbox