Не работает проверка checkbox на js

Не работает простейшая проверка чекбокса. alert всегда выводит No. Не могу понять, в чём проблема

let check = document.getElementById('valueName');

if (check.checked) {
  alert('Yes');
} else {
  alert('No')
}
<input type="checkbox" id="valueName">
<label for="valueName">Чекбокс</label>


Ответы (1 шт):

Автор решения: Anton Mironov

У вас происходит единственная проверка в момент инициализации скрипта. В это время чекбокс неактивен, поэтому выводится No. Чтобы проверять изменение состояния чекбокса необходимо добавить слушатель для такого события:

let check = document.getElementById('valueName');

check.addEventListener('change', function() {
  if (check.checked) {
    alert('Yes');
  } else {
    alert('No')
  }
});
<input type="checkbox" id="valueName">
<label for="valueName">Чекбокс</label>

→ Ссылка