@nasty0808

Как переделать код, чтобы выбирался только один checkbox?

this.filtresContainer.addEventListener('change', (e) => {
      const filtres = []
        .slice
        .call(this.filtresContainer.querySelectorAll('.filter-checkbox__checkbox'));

      if (e.target.name === 'showAll' && e.target.checked) {
        filtres.forEach((filter) => filter.name !== 'showAll' ? filter.checked = false : null);

        objManager.setFilter(() => true);
      } else {
        filtres.forEach((filter) => filter.name === 'showAll' ? filter.checked = false : null);

        objManager.setFilter((obj) => {
          if (obj.groupId === 'project') return true;
          
          return filtres
                  .find((filter) => filter.name === obj.groupId)
                  .checked;
                  
        });
      };
    })


это фильтрация меток на карте, как изменить код, чтобы выбирался только один чекбокс?
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
@VegasChickiChicki
this.filtresContainer.addEventListener('change', (e) => {
   const SelectedFilter = this.filters.find(filter => filter.checked) || null;

   if (SelectedFilter ) {
      SelectedFilter.checked = false;
      
      return false;
   }

...


Самые быстрое решение что я вижу, должно сработать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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