OlegLantukh
@OlegLantukh
Верстальщик

Как отмечать определенные checkbox при клике по ссылке?

Доброе время суток,
Подскажите пожалуйста, как можно отмечать checkbox, с определенным значением id при клике по ссылке c таким же значением data атрибута?
Пример:
<a href="javascript:void(0);" data-id="continent-1">Африка</a>
<a href="javascript:void(0);" data-id="continent-2">Азия</a>
<a href="javascript:void(0);" data-id="continent-3">Европа</a>
...
<input type="checkbox" id="continent-1">
<input type="checkbox" id="continent-2">
<input type="checkbox" id="continent-3">
  • Вопрос задан
  • 253 просмотра
Решения вопроса 2
coderisimo
@coderisimo Куратор тега JavaScript
0xD34F
@0xD34F Куратор тега JavaScript
document.addEventListener('click', function(e) {
  const el = document.getElementById(e.target.dataset.id);
  if (el) {
    el.checked = !el.checked;
  }
});

или

const buttons = document.querySelectorAll('[data-id]');
const onClick = e => checkboxes[e.target.dataset.id].checked ^= 1;
const checkboxes = Array
  .from(buttons, n => n.dataset.id)
  .reduce((acc, n) => (acc[n] = document.querySelector(`#${n}`), acc), {});

buttons.forEach(n => n.addEventListener('click', onClick));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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