С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/35: Рейтинг темы: голосов - 35, средняя оценка - 4.71
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227

Отслеживать change нескольких select

07.10.2012, 14:13. Показов 7210. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет.

Задача: в зависимости от выбранного аэропорта отображать/скрывать селектор терминала, причем несколько раз на одной странице.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<div id="start" class="airport">
    <select id="start-airport">
        <option>Внуково</option>
        <option>Домодедово</option>
        <option>Шереметьево</option>
    </select>
    <select id="start-terminal" style="display: none;">
        <option>Терминал B</option>
        <option>Терминал C</option>
        <option>Терминал D</option>
        <option>Терминал E</option>
        <option>Терминал F</option>
    </select>
</div>
 
<div id="abc" class="airport">
    <select id="abc-airport">
        <option>Внуково</option>
        <option>Домодедово</option>
        <option>Шереметьево</option>
    </select>
    <select id="abc-terminal" style="display: none;">
        <option>Терминал B</option>
        <option>Терминал C</option>
        <option>Терминал D</option>
        <option>Терминал E</option>
        <option>Терминал F</option>
    </select>
</div>
 
<div id="finish" class="airport">
    <select id="finish-airport">
        <option>Внуково</option>
        <option>Домодедово</option>
        <option>Шереметьево</option>
    </select>
    <select id="finish-terminal" style="display: none;">
        <option>Терминал B</option>
        <option>Терминал C</option>
        <option>Терминал D</option>
        <option>Терминал E</option>
        <option>Терминал F</option>
    </select>
</div>

Так не работает. Вернее работает, но скрывается/отображается только селект в первом диве.

JavaScript
1
2
3
4
5
6
7
$('.airport select:nth-child(1)').live('change', function () {
    if ($('.airport select:nth-child(1)').val() == 'Шереметьево') {
        $('.airport select:nth-child(2)').css('display', '');
    } else {
        $('.airport select:nth-child(2)').css('display', 'none');
    }
});
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2012, 14:13
Ответы с готовыми решениями:

Установка событий в цикле (установка change на select при обходе массива DIV)
Нужно обходя дивы (DIV) навесить chang на select срабатывает только на первом диве остальные не реагируют $(...

работа с select: это нужно делать через $().val(); или через .change()?
Есть такая форма на сайте. Если значение поля &quot;Тип организации куда нужна справка&quot; любое кроме &quot;другой тип&quot;, то поле...

Отслеживание нескольких select
Доброго времени суток. На странице имеется несколько select с id=&quot;verificationPhone&quot; Подскажите как получить option который выбрал...

6
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
07.10.2012, 15:14
Цитата Сообщение от Wir2al Посмотреть сообщение
Задача: в зависимости от выбранного аэропорта отображать/скрывать селектор терминала, причем несколько раз на одной странице.
А детальнее объяснить можете? Выбрал я в самом верхнем "Внуково", что должно скрыться, а что показаться? Из вашего поста и скрипта ничего не понять.
0
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
07.10.2012, 15:39  [ТС]
Soldado, http://podorozhny.ru/devcenter/sandbox/select.html
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
07.10.2012, 15:51
Я увидел, что есть, а что должно быть? Уточняющая переписка утомляет.

Сейчас терминалы появляются только если выбран Шереметьево, а когда остальные то терминалов нет....
Почему Вы не написали, что хотите получить?
Очень трудно ответить на вопрос: "Сейчас всё работает не так, а как сделать чтобы было как я хочу?"

Вам нужен универсальный скрипт, чтобы для всех блоков работал как для первого?

Задача то плёвая, если раскажите как должно быть!


id- индивидуальный идентификатор, не может быть один и тот же у нескольких элементов
1
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
07.10.2012, 16:00  [ТС]
Soldado, обновите страницу, в тот момент, когда вы смотрели, я ещё не успел дописать её (id был один на всех после копипаста блоков).

Попробую объяснить ещё разочек суть задачи.
На странице есть n-ное количество дивов, каждый из которых состоит из двух селекторов.
Первый селектор - аэропорт. Второй - терминал. Второй селектор отображать, только если выбран аэропорт Шереметьево.
Собственно этот функционал я уже сделал, но для одного блока:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<select id="airport">
    <option>Внуково</option>
    <option>Домодедово</option>
    <option>Шереметьево</option>
</select>
<select id="terminal" style="display: none;">
    <option>Терминал B</option>
    <option>Терминал C</option>
    <option>Терминал D</option>
    <option>Терминал E</option>
    <option>Терминал F</option>
</select>
JavaScript
1
2
3
4
5
6
7
$('#airport').live('change', function () {
    if ($('#airport').val() == 'Шереметьево') {
        $('#terminal').css('display', '');
    } else {
        $('#terminal').css('display', 'none');
    }
});
Блоки — это точки маршрута, редактируемого пользователем на странице. Точек может быть сколько угодно (минимум 2), добавляются нажатием на кнопку. Отслеживать с помощью jquery live естественно нужно все селекторы аэропортов. Вопрос: как это осуществить? Дублировать код выше добавив id блокам и указывая их в скриптах?

Добавлено через 1 минуту
Ospin, кстати, у нас вопросы одинаковые, мне тоже нужно производить действия для множества элементов, имеющих один класс.
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
07.10.2012, 16:17
Меняйте всё на class и используйте относительный поиск. А именно отсчёт открываемого селекта ведите от выбранного селекта, вот так (скрипт записать между тегами head, после подключения библиотеки):
JavaScript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
$(document).ready(function(){
            $('.airport').live('change', function () {
                if ($(this).val() == 'Шереметьево') {
                   $(this).next('.terminal').css('display', '');
                } else {
                    $(this).next('.terminal').css('display', 'none');
                }
            });
 });/*end  ready*/          
        </script>

Демо-страница
1
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
07.10.2012, 16:18  [ТС]
Soldado, да, все работает, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.10.2012, 16:18
Помогаю со студенческими работами здесь

Select выбор нескольких пунктов
Всем привет! Кто знает подскажите гайд или плагин какой нить. Задача: Есть селект с списком товара. Необходимо когда юзер выбирает...

Нужно связать select в нескольких div
У меня сейчас есть такая страничка: Три &lt;select&gt;, каждый из которых в своем &lt;div&gt; (примечание: кол-во select'ов растет по кнопке...

Вычисление определенного числа, в нескольких select
Привет, всем! Помогите пожалуйста :gsorry: Есть HTML разметка. В ol -&gt; li содержится два элемента: intut для ввода ссылки и...

Select Line. Change one of textBoxes. button return items to his Line
А как можно в` txtBox2 менять на пример` 1.09 на 2.7 и` press button так, что бы в` 2 Line в` 2 ColumnHeaderе` 1.09 стал 2.7 ?

DataGrid focus change, selection change
Всем привет! Как вызвать некоторую функцию, при изменении фокуса ячеки грида. При этом эта функция не должна вызываться при добавлении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru