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

ограничение селекта запрет выбранного в других селектах
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>
Ответить с цитированием