Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.02.2016, 12:31
Новичок на форуме
Отправить личное сообщение для MichaelDiteeeeeeee Посмотреть профиль Найти все сообщения от MichaelDiteeeeeeee
 
Регистрация: 19.02.2016
Сообщений: 8

Исключения в select поле.
Добрый день, участники это форума!
Возникла проблема, ищу решения.

Имею код:
<select name="from" required>
              
                <option selected="true" style="display:none;"> </option>
              
              <option>- Suvarnabhumi International Airport</option>
              <option>- Don Mueang International Airport</option>
              <option>-  Bangkok City</option>
              <option>- Hua Hin</option>
              <option>- Cha Am</option>
            </select>
            <br>
            
             <h2>Drop Off Location </h2>
            <select name="to" required>
                
              <option selected="true" style="display:none;"> </option>
              <option>- Suvarnabhumi International Airport</option>
              <option>- Don Mueang International Airport</option>
              <option>-  Bangkok City</option>
              <option>- Hua Hin</option>
              <option>- Cha Am</option>
            </select>


Затея такая:
Исключать из 2-го select Suvarnabhumi International Airport и Don Mueang International Airport, если выбраны Bangkok City , Hua Hin и Cha Am
И точно так же наооборот.Исключаем аэропорты ,если выбран город, точно так же исключаем городы при выборе аэропортов.

_______
Жду помощи, спасибо за внимание!

Последний раз редактировалось MichaelDiteeeeeeee, 19.02.2016 в 14:50.
Ответить с цитированием
  #2 (permalink)  
Старый 19.02.2016, 13:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

MichaelDiteeeeeeee,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 19.02.2016, 14:50
Новичок на форуме
Отправить личное сообщение для MichaelDiteeeeeeee Посмотреть профиль Найти все сообщения от MichaelDiteeeeeeee
 
Регистрация: 19.02.2016
Сообщений: 8

Изменил. Пожалуйста, помогите.
Ответить с цитированием
  #4 (permalink)  
Старый 19.02.2016, 15:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

ограничение селекта запрет выбранного в других селектах
MichaelDiteeeeeeee, медитируйте, а заодно и проведите тест и напишите результат.
<!DOCTYPE HTML>

<html>

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

<body>
<form action="http://" name="f">
<select name="from" required size="6"> <option></option>
 <option>- Suvarnabhumi International Airport</option>
 <option>- Don Mueang International Airport</option>
 <option>- Bangkok City</option>
 <option>- Hua Hin</option>
 <option>- Cha Am</option>
</select>
<select name="to" required size="6">  <option></option>
 <option>- Suvarnabhumi International Airport</option>
 <option>- Don Mueang International Airport</option>
 <option>- Bangkok City</option>
 <option>- Hua Hin</option>
 <option>- Cha Am</option>
</select>


<select name="test" required size="6"> <option></option>
 <option>- Suvarnabhumi International Airport</option>
 <option>- Don Mueang International Airport</option>
 <option>- Bangkok City</option>
 <option>- Hua Hin</option>
 <option>- Cha Am</option>
</select>
</form>
<script>
window.addEventListener("DOMContentLoaded", function() {
    var selects = document.querySelectorAll("select"),
        opt = [],
        val = [];
    [].forEach.call(selects, function(sel, j) {
        opt[j] = sel.querySelectorAll("option");
        sel.addEventListener("change", function() {
            var v = [].map.call(selects, function(sel) {
                return sel.value
            });
            [].forEach.call(selects, function(sel, k) {
                sel.options.length = 0;
                for (var i = 0; i < opt[k].length; i++)(!~v.indexOf(opt[k][i].text) || opt[k][i].text == v[k] || !i) && sel.options.add(opt[k][i])
            })
        })
    })
});
</script>
</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2016, 08:36
Новичок на форуме
Отправить личное сообщение для MichaelDiteeeeeeee Посмотреть профиль Найти все сообщения от MichaelDiteeeeeeee
 
Регистрация: 19.02.2016
Сообщений: 8

Вы не поняли, нужно исключать :

<option>- Bangkok City</option>
<option>- Hua Hin</option>
<option>- Cha Am</option>

Если выбран один из 2-х аэропортов и наооборот.
Помоги, пожалуйста.
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2016, 09:38
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

MichaelDiteeeeeeee,
<script>
         document.addEventListener('DOMContentLoaded', function (e) {
             var selFrom = document.querySelector('select[name=from]'), selTo = document.querySelector('select[name=to]'), arr = [], pattern = /airport/i;
             selTo.disabled = true;
             selFrom.addEventListener('change', function (e) {
                selTo.innerHTML = selFrom.innerHTML;
                pattern.test(this.value) ? arr = [].filter.call(document.querySelector('select[name=to]'), function (el) {
                    return !(pattern.test(el.value));
                }) : arr = [].filter.call(document.querySelector('select[name=to]'), function (el) {
                    return pattern.test(el.value);
                })
                    selTo.options.length = 0;
                    [].forEach.call(arr, function (el) {
                        selTo.options.add(el);
                    });
                   selTo.disabled = false;
            })
        })
     </script>
     <select name="from" required>

        <option selected="true" style="display:none;"> </option>

        <option>- Suvarnabhumi International Airport</option>
        <option>- Don Mueang International Airport</option>
        <option>-  Bangkok City</option>
        <option>- Hua Hin</option>
        <option>- Cha Am</option>
    </select>
    <br>

    <h2>Drop Off Location </h2>
    <select name="to" required>

        <option selected="true" style="display:none;"> </option>
        <option>- Suvarnabhumi International Airport</option>
        <option>- Don Mueang International Airport</option>
        <option>-  Bangkok City</option>
        <option>- Hua Hin</option>
        <option>- Cha Am</option>
    </select>

Последний раз редактировалось destus, 20.02.2016 в 10:10.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
картинки вместо текста в поле Select TomTykver Элементы интерфейса 2 24.05.2015 20:40
Проверка нескольких select на одинаковые значения emulexx Общие вопросы Javascript 6 07.04.2015 15:19
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Ошибка в не большом скрипте modestes jQuery 2 08.03.2013 04:28
поле SELECT и его значение vah-smile Элементы интерфейса 6 05.11.2010 00:42