Cherka Trova
есть два блока (обзовем их для порядка select1 и select2). В первом, скажем, 3 элемента, во втором, допустим, 7.
Требуется, чтобы при выборе 1 пункта select1 в select2 выводились первые 4 пункта, при выборе пункта 2 - первые 6 пунктов, ну и при выборе пункта 3 - все целиком. Содержание пунктов при этом не меняется,только вывод.

есть какие-нибудь идеи?


@темы: JavaScript

Комментарии
29.03.2010 в 11:14

Ну гавнокодом очевидно решается:
1) Присваиваем id отдельным кнопочкам разные
2) Пишем 3 функции.
3) В первой показываются 4 элемента. Во второй вызывается первая и показываются еще два. В третьей вызывается вторая и показывается еще один.
4) Байндим кнопочки на элементы.

А как по человечески решить, что-то в голову не приходит.


Кстати, недавно открылся форум по JQuery: www.linkexchanger.su/forum/
29.03.2010 в 12:34

Тут есть одна шутка. "Показывается" - не сработает. option не прячется ни через display:none, ни через visibility:hidden. Поэтому options из второго селекта надо выдёргивать к себе в переменную и вставлять во второй селект по мере надобности.

Пример на www.daniyal.ru/a/a.html , в исходнике - код с комментариями.

Ну а вообще для случая когда родитель один - это plugins.jquery.com/project/DependentSelectbySil...
Либо его же можно переписать, заменив условия class= и class!= на class*= и not(class*=)
29.03.2010 в 12:55

Cherka Trova
спасибо) попробуем экстраполировать на несколько завязанных селектов)
29.03.2010 в 13:03

Свобода - это умение улыбаться (с)
Masque
можно через innerHtml - по выбору селекта1 менять весь список селекта2.
29.03.2010 в 13:13

alhames.ru
Я бы поступил проще - создал бы три селекта с 4/6/all опциями и делал бы видимым нужный..
Или нужна еще какая-то анимация?
29.03.2010 в 13:18

alhames Гагага, кстати, что-то в этом определённо есть! ))) Особенно в случае, когда списки короткие ))))
29.03.2010 в 13:45

Cherka Trova
А что отправится в этом случае обработчику? не сработают ли select с display:none как элементы input type=hidden ?
29.03.2010 в 13:46

Masque Проверь ))) Но если мне не изменяет память, то скрытые от глаз элементы на сервер не отправляются.
29.03.2010 в 14:06

alhames.ru
Masque не сработают ли select с display:none как элементы input type=hidden ?
Не знаю - не пробовал )
В крайнем случае что нам мешает мешает менять атрибут name динамически?:rotate:
30.03.2010 в 11:11

подожди, тебе два селекта связать надо? )))))))))

Блин! Я думал 2 блока через радио-буттоны...

www.linkexchanger.su/2009/82.html

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail