Задать вопрос
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">
  • Вопрос задан
  • 291 просмотр
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 2
coderisimo
@coderisimo Куратор тега JavaScript
0xD34F
@0xD34F Куратор тега JavaScript
О каком data-атрибуте идёт речь:

const key = 'id';
const attr = `data-${key}`;
const attrSelector = `[${attr}]`;

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

document.querySelectorAll(attrSelector).forEach(function(n) {
  n.addEventListener('click', this);
}, function() {
  document.querySelector(`#${this.dataset[key]}`).checked ^= 1;
});

Или, применяем делегирование:

document.addEventListener('click', ({ target: t }) =>
  (t = t.closest(attrSelector)) &&
  (t = document.getElementById(t.getAttribute(attr))) &&
  (t.checked = !t.checked)
);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы