Как отметить или снять отметку чекбокса с помощью JavaScript
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Для изменения состояния чекбокса достаточно обновить его свойство checked
:
// Устанавливаем отметку
document.querySelector('#myCheckbox').checked = true;
// Снимаем отметку
document.querySelector('#myCheckbox').checked = false;
В качестве значений используйте true
или false
, управляющие состоянием checked
.
Детальное рассмотрение работы с чекбоксами
Овладейте более тонким манипулированием состоянием чекбоксов, применяя разнообразные подходы:
Имитация действий пользователя с помощью click()
Насымитируйте поведение пользователя, вызвав событие клика чекбокса:
var checkbox = document.getElementById('myCheckbox');
checkbox.click(); // Инициируем клик на чекбоксе
Совместимость со старыми браузерами
Если вы хотите поддержать пользователей старых браузеров, воспользуйтесь методами setAttribute
и removeAttribute
:
var checkbox = document.getElementById('myCheckbox');
// Старый браузер установит отметку
checkbox.setAttribute('checked', checkbox.checked ? '' : 'checked');
// Старый браузер снимет отметку
checkbox.removeAttribute('checked');
Использование jQuery
В jQuery применяется метод .prop()
, чтобы изменить состояние чекбокса:
// Устанавливаем отметку через jQuery
$('#myCheckbox').prop('checked', true);
// Снимаем отметку через jQuery
$('#myCheckbox').prop('checked', false);
Если вы работаете с версиями jQuery ниже 1.6, используйте методы .attr()
и .removeAttr()
:
// Установка отметки в старой версии jQuery
$('#myCheckbox').attr('checked', 'checked');
// Снятие отметки в старой версии jQuery
$('#myCheckbox').removeAttr('checked');
Визуализация
[ ] : 💡⬜️ (Неактивный чекбокс)
[x] : 💡🟡 (Активный чекбокс)
Изменение состояния без обращения к мощному артефакту:
document.getElementById('myCheckbox').checked = !document.getElementById('myCheckbox').checked;
Примеры переключения:
Переключение: 💡⬜️ ➡️ 💡🟡 // Неактивный переключается в активный
Переключение: 💡🟡 ➡️ 💡⬜️ // Активный переключается в неактивный
Профессиональные рекомендации по работе с чекбоксами
Пользовательский интерфейс – важность понятности
Делайте своё приложение комфортным и доступным. Используйте атрибуты aria
для улучшения доступности и обеспечивайте отзывчивость интерфейса. Информируйте пользователей о любом изменении состояния.
Отслеживание событий с помощью addEventListener
document.getElementById('myCheckbox').addEventListener('change', function(event) {
// Код выполнится при изменении состояния чекбокса
});
addEventListener
позволяет обрабатывать изменения состояния чекбокса в реальном времени.
Управление набором чекбоксов
Если у вас на странице множество чекбоксов:
// Отмечаем все чекбоксы
document.querySelectorAll('.checkbox-class').forEach(function(checkbox) {
checkbox.checked = true;
});
// Снимаем отметки со всех чекбоксов
document.querySelectorAll('.checkbox-class').forEach(function(checkbox) {
checkbox.checked = false;
});
Полезные материалы
- О том, как создать переключатель
- О работе с событием изменения состояния чекбокса на Stack Overflow
- Определённые аспекты роботы с градиентами, CSS-переходами и анимациями на CSS-Tricks
- О удалении DLL файлов из приложения ASP.NET на Stack Overflow
- В документации jQuery о методе .prop()
- О методе EventTarget.addEventListener() в Web API на MDN