![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
Здравствуйте...
Делаю несколько селектов для выбора страны, области, города и т.д.
можно ли как-то в dom'е сделать так, чтобы при выборе одного селекта все последующие за ним скрывались? Это сообщение отредактировал(а) EmilRegis - 11.1.2010, 15:33 |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 0 Всего: 17 |
Конечно можно. Только зачем после выбора страны скрывать селект с выбором города?
|
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
Может, имелось в виду, что сокрытие нижележащих списков должно происходить только при выпадании меню в вышележащем select'е, а потом после совершения выбора всё восстанавливалось?
|
|||
|
||||
| EmilRegis |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
да ошибся)) я имел ввиду, чтобы скрывались все селекты идущие за следующим после выбранного...То есть если выбрана страна, то скрывались все селекты, начиная с города...
Сделал так
но что-то мне не особо нравится такой вариант((
Это сообщение отредактировал(а) 12345c - 11.1.2010, 18:22 |
||||
|
|||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 0 Всего: 17 |
Твой вариант делает явно что-то еще (; Напиши, что, плиз.
А насчет скрытия: у тебя что, у всех селектов один name? о_О. Я бы дал всем select-ам ID-шники и сделал бы массив селектов. Потом просто по массиву скрывал бы в цикле все селекты после следующего и открывал. Так лучше, ИМХО. |
|||
|
||||
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
нет ничего другого скрипт не делает)) и name у селектов разные...
var seltd = document.getElementsByName("seltd"); - это name для td-шек, содержащих селекты |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
Я бы запрограммировал так, но это всё, видимо, на любителя — кому как нравится…
|
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 6 Всего: 101 |
Если name одинаковый, то как раз проще - можно в цикле без лишних имён назначить классы невидимости.
Скорее всего, понадобится и подгрузка аяксом, если список городов очень большой. Подобная задача называется связанные списки, динамические селекты, по этим словам молжно найти в форуме похожие решения. Ещё проще - присвоить селектам классы, а паре классов - проверку на onchange. В терминах JQuery:
Это сообщение отредактировал(а) 12345c - 11.1.2010, 20:07 -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
спасибо за подсказу, решение Amphiluke и правда куда элегантней)))
правда немножко его переделал
потом вместо массива добавлю подгрузку ajax'ом |
|||
|
||||
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 3 Всего: 4 |
хотя просто вот так будет ещё короче
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |