我有两个复选框名称check1和check2。如果检查另一个,我想要禁用其中任何一个。这就是我所做的:
var male = document.getElementById("check1");
var female = document.getElementById("check2");
male.disabled = (female.checked == true) ? true : false;
female.disabled = (male.checked == true) ? true : false;
根本不起作用。语法是否正确。我做错了什么?
答案 0 :(得分:3)
您需要onchange
事件,您的代码也可以整理。
var male = document.getElementById("check1"),
female = document.getElementById("check2");
male.onchange = function() {
female.disabled = male.checked;
};
female.onchange = function() {
male.disabled = female.checked;
};
另外,你不应该使用无线电输入吗?
答案 1 :(得分:0)
disabled
根本不应设置为禁用AFAIK,任何值都是“truthy”
执行.removeAttribute('disabled')
以禁用它。
答案 2 :(得分:0)
单击一个时,您需要更改另一个复选框的状态,例如。男性改变了 - 改变女性,反之亦然。
function maleOnClick(){
female.checked= !this.checked;
}
function femaleOnClick(){
male.checked= !this.checked;
}
无论如何为什么不使用type="radio"
答案 3 :(得分:0)
尝试:
male.setAttribute('disabled', 'disabled'); //set
male.setAttribute('disabled', ''); //clear
所以:
male.setAttribute = (female.checked == true) ? 'disabled': '';