Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2016, 21:07
Интересующийся
Отправить личное сообщение для Enkille Посмотреть профиль Найти все сообщения от Enkille
 
Регистрация: 09.11.2015
Сообщений: 19

Как сделать фильтрацию одинаковых элементов в списке SELECT -> OPTION?
У меня есть два списка (select) с элементами option, каждый из которых имеет value от 1 до 100. Я хочу сделать временное исчезновение из другого списка того option, который был выбран в одной из форм. Чтобы не показывать повторения. Также, если элемент поменялся, то его нужно снова показать.

Подскажите, как это лучше сделать? Пытался делать проверки и скрывать их с помощью hide() (jQuery), но таким образом у меня скрываются один элемент за другим, что совсем не нужно :-) Гуглил, но ничего подобного не нашел, хотя обычно Stackoverflow в помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2016, 22:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

зависимые селекты запрет одинакого выбора
Enkille,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
  <select size="15">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
  </select>
  <select size="15">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
  </select>

<script>
window.addEventListener("DOMContentLoaded", function() {
    var a = document.querySelectorAll("select");
    [].forEach.call(a, function(c, b) {
        b = a[+!b];
        var d = b.querySelectorAll("option");
        c.addEventListener("change", function() {
            b.options.length = 0;
            [].forEach.call(d, function(a) {
                a.value !== c.value && b.appendChild(a)
            })
        })
    })
});
</script>

</body>

</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox, radio и select c option Hekumok Общие вопросы Javascript 8 12.04.2016 17:51
как сделать зависимость checkbox и select MasterHrust Javascript под браузер 12 09.01.2012 13:27
При выборе в select выдает число. Как сделать? где почитать? Bakstor Общие вопросы Javascript 5 21.11.2011 15:35
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
select -> плавущий размер option FOJIK Элементы интерфейса 0 26.03.2011 18:42