@jakiro0102

Как на Jquery добавлять и удалять идентичные значения (текст) в блок?

Есть фильтр с чекбоксами (см на картинку), пытаюсь сделать фильтрацию
60ec263ddbb13295952730.png
При выборе любого чекбокс - в верхнее поле должно записываться значение из выбранного чекбокса, при нескольких вариантах - в поле должны записываться все варианты которые были выбраны

При снятии чекбокса - в поле должно исчезать тоже выбранный ответ. Как это сделать?
Пытался сделать это всё через массив, но дошел до момента проверки и удаления одинаковых значений, и затуп. Как это можно решить?

<div class="form-filter press-center__form-type js-filter js-open-filter-block filter-topic-js"
     id="press-center-filter-theme">
    <span class="js-type-result" data-title="Тема">Тема</span>
    <div class="form-hide js-hide">
        <div class="dfth__item js-select-all">
            <input type="checkbox" class="dfth__check" id="dfth-check-0">
            <label for="dfth-check-0" class="dfth__label">Все темы</label>
        </div>
        <div class="dfth__item js-select-item">
            <input type="checkbox" class="dfth__check" id="dfth-check-231" data-id="231">
            <label for="dfth-check-231" class="dfth__label">Новости</label>
        </div>
        <div class="dfth__item js-select-item">
            <input type="checkbox" class="dfth__check" id="dfth-check-232" data-id="232">
            <label for="dfth-check-232" class="dfth__label">Сбыт продукции</label>
        </div>
        <div class="dfth__reset">Очистить всё</div>
    </div>
</div>
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
$('.js-filter').change(function() {
  const selected = $('.dfth__check:checked', this)
    .closest('.dfth__item')
    .find('.dfth__label')
    .get()
    .map(n => n.innerText)
    .join(', ');

  $('.js-type-result', this).text(selected || дефолтное_значение);
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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