Задать вопрос
@IgorPlays

Как сделать, чтобы при выборе значения в одном select'е оно пропадало в других?

Есть несколько select'ов, например:

<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

Надо сделать так, чтобы при выборе одного значения в других селектах оно исчезло.
  • Вопрос задан
  • 127 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const selects = [...document.querySelectorAll('select')];
const onChange = () =>
  selects.forEach(function({ value, options: [...n] }) {
    n.forEach(m => m.hidden = this(m.value) && value !== m.value);
  }, Set.prototype.has.bind(new Set(selects.map(n => n.value))));

selects.forEach(n => n.addEventListener('change', onChange));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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