@webhero

Как выполнить условие выбора двух select option?

Мне необходимо, чтобы при выборе двух состояний выполнялся код (отображался блок)
62ce82a0a1d45834272235.png

Есть такой код, он отлично работает если выбран одно из значений option, но при выборе двух он не работает, помогите
з.ы. я так понимаю value option при выборе всегда одно и оно просто сменяется и не может принять 2 состояния

document.addEventListener("DOMContentLoaded", () => {
      const colorSelect = document.querySelector('.hasCustomSelect[name="features[13]"] option').value
      const plugSelect = document.querySelector('.hasCustomSelect[name="features[12]"] option').value

      const typeSelect = document.querySelectorAll('.hasCustomSelect option')

      typeSelect.forEach(item => {
         item.addEventListener('change', function(e) {    //click
            let text = this.value

            if (text == 42) {    //&& text == 1
               console.log(item);
               document.getElementById('sometable').style.display = 'block'
            } else {
               document.getElementById('sometable').style.display = 'none'
            }
         })
   })
})
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Два селектора – один обработчик.
Надо в одном обработчике смотреть на все значения всех селекторов.
const colorSelect = document.querySelector('.hasCustomSelect[name="features[13]"]');
const plugSelect = document.querySelector('.hasCustomSelect[name="features[12]"]');

const onChange = () => {
  const colorValue = colorSelect.value;
  const plugValue = plugSelect.value;

  if (colorValue === '1' && plugValue === '42') {
    console.log('Оба, на', { colorValue, plugValue });
  } else {
    console.log('Всё не то..', { colorValue, plugValue });
  }
};

[colorSelect, plugSelect].forEach(el => el.addEventListener('input', onChange));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Geminix
@Geminix
Фуллстек nuxt, .net разработчик
полагаю, что нужно в обработчике найти снова все селекторы, найти нужные, взять из них значения и произвести логику отображения нового селектора
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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