@Emprove

Как заблокировать остальные чекбоксы при клике по чекбоксу с value=0, к примеру?

Есть такие чекбоксы:
"checkbox" value=1>Петя
"checkbox" value=2>Вася
"checkbox" value=4>Коля
"checkbox" value=8>Ваня
"checkbox" value=0>Маша

Необходимо, чтобы при статусе checked бокса с value=0 снимались чеки с остальных и они блокировались, не давая их чекнуть.
В jquery новичок, как вы поняли. Спасибо :).
  • Вопрос задан
  • 1902 просмотра
Решения вопроса 1
Finesse
@Finesse
jQuery тут не нужен. Работает в IE≥9.

var masterCheckbox = document.querySelector('input[type="checkbox"][value="0"]');
var slaveCheckboxes = document.querySelectorAll('input[type="checkbox"]:not([value="0"])');

masterCheckbox.addEventListener('change', function() {
    if (masterCheckbox.checked) {
        // Галочка поставлена. Деактивируем остальные чекбоксы.
        Array.prototype.forEach.call(slaveCheckboxes, function(checkbox) {
            checkbox.checked = false;
            checkbox.disabled = true;
        });
    } else {
        // Галочка убрана. Активируем остальные чекбоксы.
        Array.prototype.forEach.call(slaveCheckboxes, function(checkbox) {
            checkbox.disabled = false;
        });
    }
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dummyman
@dummyman
диссидент-схизматик
вам скорее всего нужен radiobox
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы