Как отметить или снять отметку чекбокса с помощью JavaScript

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для изменения состояния чекбокса достаточно обновить его свойство checked:

JS
Скопировать код
// Устанавливаем отметку
document.querySelector('#myCheckbox').checked = true;

// Снимаем отметку
document.querySelector('#myCheckbox').checked = false;

В качестве значений используйте true или false, управляющие состоянием checked.

Кинга Идем в IT: пошаговый план для смены профессии

Детальное рассмотрение работы с чекбоксами

Овладейте более тонким манипулированием состоянием чекбоксов, применяя разнообразные подходы:

Имитация действий пользователя с помощью click()

Насымитируйте поведение пользователя, вызвав событие клика чекбокса:

JS
Скопировать код
var checkbox = document.getElementById('myCheckbox');
checkbox.click(); // Инициируем клик на чекбоксе

Совместимость со старыми браузерами

Если вы хотите поддержать пользователей старых браузеров, воспользуйтесь методами setAttribute и removeAttribute:

JS
Скопировать код
var checkbox = document.getElementById('myCheckbox');
// Старый браузер установит отметку
checkbox.setAttribute('checked', checkbox.checked ? '' : 'checked');

// Старый браузер снимет отметку
checkbox.removeAttribute('checked');

Использование jQuery

В jQuery применяется метод .prop(), чтобы изменить состояние чекбокса:

JS
Скопировать код
// Устанавливаем отметку через jQuery
$('#myCheckbox').prop('checked', true);

// Снимаем отметку через jQuery
$('#myCheckbox').prop('checked', false);

Если вы работаете с версиями jQuery ниже 1.6, используйте методы .attr() и .removeAttr():

JS
Скопировать код
// Установка отметки в старой версии jQuery
$('#myCheckbox').attr('checked', 'checked');

// Снятие отметки в старой версии jQuery
$('#myCheckbox').removeAttr('checked');

Визуализация

Markdown
Скопировать код
[ ] : 💡⬜️ (Неактивный чекбокс)
[x] : 💡🟡 (Активный чекбокс)

Изменение состояния без обращения к мощному артефакту:

JS
Скопировать код
document.getElementById('myCheckbox').checked = !document.getElementById('myCheckbox').checked;

Примеры переключения:

Markdown
Скопировать код
Переключение: 💡⬜️ ➡️ 💡🟡 // Неактивный переключается в активный
Переключение: 💡🟡 ➡️ 💡⬜️ // Активный переключается в неактивный

Профессиональные рекомендации по работе с чекбоксами

Пользовательский интерфейс – важность понятности

Делайте своё приложение комфортным и доступным. Используйте атрибуты aria для улучшения доступности и обеспечивайте отзывчивость интерфейса. Информируйте пользователей о любом изменении состояния.

Отслеживание событий с помощью addEventListener

JS
Скопировать код
document.getElementById('myCheckbox').addEventListener('change', function(event) {
  // Код выполнится при изменении состояния чекбокса
});

addEventListener позволяет обрабатывать изменения состояния чекбокса в реальном времени.

Управление набором чекбоксов

Если у вас на странице множество чекбоксов:

JS
Скопировать код
// Отмечаем все чекбоксы
document.querySelectorAll('.checkbox-class').forEach(function(checkbox) {
  checkbox.checked = true; 
});

// Снимаем отметки со всех чекбоксов
document.querySelectorAll('.checkbox-class').forEach(function(checkbox) {
  checkbox.checked = false; 
});

Полезные материалы

  1. О том, как создать переключатель
  2. О работе с событием изменения состояния чекбокса на Stack Overflow
  3. Определённые аспекты роботы с градиентами, CSS-переходами и анимациями на CSS-Tricks
  4. О удалении DLL файлов из приложения ASP.NET на Stack Overflow
  5. В документации jQuery о методе .prop()
  6. О методе EventTarget.addEventListener() в Web API на MDN