Многоуровневый cuSel. Быть или не быть?

Многоуровневый cuSel. Быть или не быть? Дата публикации: 06.07.2011...

Дата публикации: 06.07.2011

Поступило предложение сделать возможность многоуровневого cuSel, тем самым расширить функциональные возможности выпадающего спиcка формы. Текст самого предложения (автор Антон):

Для каждого option в плагине можно добавлять тэги через addTags. Теоретически возможно туда вставить список ul, который будут отображать при hover на оптион. Получится что-то вроде двухуровневого списка: если вложенного списка нет, значение будет как обычно — браться из оптион, а если же есть, тогда значение будет браться из li. Соответственно и выделение активного пункта будет уже у li.

Вопрос: зачем это и где применить? Ведь в обычных списках такого нет.

В обычных селектах такого нет, но раз уж он у и так не стандартный, то почему бы ему не добавить функциональности?
По поводу сферы его применения, то тут хочу привести аналогию с
многоуровневыми меню, во-первых это экономит место, во-вторых это
действительно удобно. Сам принцип последовательного выбора значений в
селекте реализовывается обычно с помощью так называемого каскада
селектов, т.е. при выборе значения в первом селекте появляется
(становится активным, или просто обновляются данные в уже имеющемся)
следующий с привязанными к предыдущему выбору значениями. Пример можно
посмотреть тут
правда тут они тоже переделанные, но суть ясна. Но, если, скажем
расположение контента на странице не позволяет расположить несколько
селектов рядом, а необходимость в таком последовательном выборе всё же
есть, то многоуровневый селект как раз поможет решить эту задачу. Для
примера картинка в аттаче, есть необходимость выбирать города по
области, вёрстка не позволяет показывать несколько появляющихся
друг-за другом селектов, но ситуацию легко исправить тем, что можно
выбирать подпункты сразу в одном селекте. Опять же если необходимо
сменить город, при использовании нескольких селектов нужно сначала
сменить родителя (область), на ту, в которой есть нужный город, а
затем уже выбрать сам город, получается 2 действия, а с многоуровневым
селектом можно выбрать за 1 действие — выбираем область — наводим —
выбираем город. Ну и последнее преимущество, если мы не знаем в какой
области находится нужный нам город, то в случае нескольких селектов
надо будет выбирать последовательно все области одна за другой и для
каждой просматривать второй селект с городами, а при многоуровневом,
просто провести мышкой по всем областям пока не увидишь нужный город,
получается гораздо быстрее.

Вот такие аргументы «за» предложения.

С одной стороны, идея большей функциональности, чем у обычных списков мне нравится. С другой стороны, приведенные доводы меня не совсем убедили.

cuSel — это в первую очередь реализация элемента формы select, который и должен использоваться в формах. Передается одно значение (мультивыбор тут не рассматривается). Да и в таких формах, где какие-либо данные подгружаются при выборе/заполнении определенных полей тоже имеют свой смысл и экономия места на странице не всегда основная задача таких действий. Скорее для экономии веса страницы. Потому описанный выше пример — как минимум не удачный пример применения.

Но в cuSel сейчас не реализована поддержка optgroup — сам тег предназначен для группировки оптионов. Так вот для экономии места можно было бы его использовать как плацдарм для второго уровня.

Просто многоуровневое меню и так можно сделать на CSS, без тяжелых библиотек. А если понадобиться какие-то данные передавать, то можно добавить input type=hidden и пару строк Javascript написать. В общем хотелось бы услышать мнение сообщества о полезности данной функции. Стоит ли ее реализовывать? И где реально она может пригодиться?

Смотрите также в этом разделе

Смежные материалы, которые могут быть вам полезны

  • 10 причин, по которым Flash по-прежнему остается популярной платформой для разработки игр
  • Apps vs. Web — выбор между веб и нативным приложением
  • Ben the bodyguard — интересный пример
  • Boilerplate или Bootstrap – что выбирать при создании проекта?
  • Google и Arcade Fire: как соединить технологии и искусство
  • Mac vs PC. Часть 2.
  • Tron — эффектный комикс на HTML5
  • Windows 7 глазами пользователя
  • Windows и Mac о Chrome OS
  • Будущее началось
  • Взгляд одного пользователя на современные браузеры
  • Война браузеров в картинках
  • Волшебный фон на CSS
  • Галерея на чистом CSS
  • Если бы IT-компании делали автомобили
  • Интервью: Лидеры мировой индустрии онлайн игр об HTML5, Flash и своих планах на будущее
  • Интервью: Марчин Вичери — создатель Google Pacman Logo, HTML5 Slide Deck и других интересных вещей
  • Интернет и соц сети
  • Как делаются сайты (юмор)
  • Как написать хороший код
  • Как происходит разработка сайта — бэкенд-фреймворки (часть 4)
  • Как происходит разработка сайта (часть 3) Фронтенд-фреймворки
  • Как улучшить кэширование в браузере?
  • Какая она — реальная жизнь айтишника
  • Комикс «Социальная сеть в Раю»
  • На пенсии (комикс)
  • Наглядное пояснение значений CSS свойства vertical-align
  • Нескучные HTML формы
  • Нестандартный textarea: в поисках решения
  • Перевод интервью с Эриком Майером (Eric Meyer)
  • Песня о CSS3
  • Погружение в HTML5
  • Почему появился HTML5
  • Разработка сайта (часть 1)
  • Разработка сайта (часть 2)
  • Реклама противоядия для трудоголиков или что такое подработка
  • Синтаксис псевдоэлементов :after и :before
  • Современный подход к веб-стандартам
  • Топ 5 ошибок массивных CSS