[英]What is wrong with this JavaScript code?
我有兩個復選框,分別為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;
它根本不起作用。 語法正確嗎? 我做錯了什么?
您需要onchange
事件,並且您的代碼也可以整理。
var male = document.getElementById("check1"),
female = document.getElementById("check2");
male.onchange = function() {
female.disabled = male.checked;
};
female.onchange = function() {
male.disabled = female.checked;
};
jsFiddle 。
另外,您不應該使用無線電輸入嗎?
disabled
根本不應該設置禁用以便禁用AFAIK,任何值都是“ truthy”
執行.removeAttribute('disabled')
使其不被禁用。
例如,您需要更改另一個復選框的狀態。 男性改變了-女性改變了,反之亦然。
function maleOnClick(){
female.checked= !this.checked;
}
function femaleOnClick(){
male.checked= !this.checked;
}
無論如何,為什么不使用type="radio"
嘗試:
male.setAttribute('disabled', 'disabled'); //set
male.setAttribute('disabled', ''); //clear
所以:
male.setAttribute = (female.checked == true) ? 'disabled': '';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.