Что не так с этим кодом JavaScript? - PullRequest
0 голосов
/ 25 марта 2011

У меня есть два флажка с именем 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;

Не работает вообще.Синтаксис правильный.Что я сделал не так?

Ответы [ 4 ]

3 голосов
/ 25 марта 2011

Вам нужно событие 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 .

Кроме того, не так ли?использовать радиовход?

0 голосов
/ 25 марта 2011

вам нужно изменить состояние другого флажка при нажатии, например.мужчина изменился - измените женщину, и наоборот стих.

0 голосов
/ 25 марта 2011

Попробуйте:

 male.setAttribute('disabled', 'disabled'); //set
 male.setAttribute('disabled', ''); //clear

Итак:

male.setAttribute = (female.checked == true) ? 'disabled': '';
0 голосов
/ 25 марта 2011

disabled не следует устанавливать вообще, чтобы отключить AFAIK, любое значение является «правдивым»

do .removeAttribute('disabled'), чтобы не отключить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...