Есть ли что-нибудь из коробки, которую поддерживает bootstrap для отображения «обычного» дефолтного выпадающего списка выбора? То есть, где раскрывающийся список представляет собой список значений и, если он выбран, заполнить содержимое списка?
Что-то похожее на этот функционал?
twitter-bootstrap
genxgeek
источник
источник
<select>
. в то время как начальная загрузка используется<ul>
для выпадающих списков, это в конечном итоге вводит в заблуждение использование указанного тега. учитывая всю пышность JQuery в начальной загрузке, я удивляюсь, почему они не изменили карету для выбора сами. Это казалось бы гораздо более изящным решением, чем незаконное присвоениеul
.Ответы:
Bootstrap 3 использует
.form-control
класс для стилизации компонентов формы.http://getbootstrap.com/css/#forms-controls
источник
bootstrap.js
. Основное визуальное различие между этим и «полным» решением для начальной загрузки (на которое ссылается @JonathanEdwards) состоит в том, что меню, которое появляется, является квадратным, менее симпатичным, какalert
окно, которое предоставляет ваш браузер. Маленькая проблема на самом деле. Однако селектор без щелчка выглядит точно так же, как и Bootstrap.Другой вариант - сделать так, чтобы раскрывающийся список Bootstrap вел себя как выбор с помощью jQuery ...
http://www.bootply.com/b4NKREUPkN
источник
Хороший и простой ответ Скелли теперь устарел с изменениями в синтаксисе выпадающего меню в Bootstap. Вместо этого используйте это:
источник
Тест: http://jsfiddle.net/brynner/hkwhaqsj/6/
HTML
JQuery
CSS
источник
Другим вариантом может быть использование начальной загрузки . Своими словами:
источник
Другой способ без использования .form-control это:
источник
Код Бена требует, чтобы у родительского div был класс группы форм (я использовал btn-group), это немного другая версия, которая просто ищет ближайший div и может даже быть немного быстрее.
источник
Bootstrap3
.form-control
- это круто, но для тех, кто любит или нуждается в выпадающем меню с кнопкой и ul, вот обновленный код. Я отредактировал код Стива, чтобы исправить переход к хеш-ссылке и закрытие выпадающего списка после выбора.Спасибо Стиву, Бену и Скелли!
источник
В настоящее время я борюсь с выпадающими, и я хотел бы поделиться своим опытом:
Есть конкретные ситуации, когда
<select>
нельзя использовать и их необходимо эмулировать с помощью раскрывающегося списка.Например, если вы хотите создать загрузочные группы ввода, такие как Кнопки с выпадающими списками (см. Http://getbootstrap.com/components/#input-groups-buttons-dropdowns ). К сожалению
<select>
, не поддерживается в группах ввода, он не будет отображаться должным образом.Или кто-нибудь уже решил это? Я был бы очень заинтересован в решении.
И чтобы сделать его еще более сложным, вы не можете так просто
$(this).text()
поймать, какой пользователь выбран в раскрывающемся списке, если вы используете гликоны или шрифтовые иконки в качестве содержимого для раскрывающегося списка. Например:<li id="someId"><a href="#0"><i class="fa fa-minus"></i></a></li>
потому что в этом случае нет текста, и если вы добавите его, он также будет отображаться в выпадающем элементе, и это нежелательно.Я нашел два возможных решения:
1) Используйте,
$(this).html()
чтобы получить содержимое выбранного<li>
элемента, а затем изучить его, но вы получите что-то вроде этого,<a href="#0"><i class="fa fa-minus"></i></a>
поэтому вам нужно поиграть с этим, чтобы извлечь то, что вам нужно.2) Использование
$(this).text()
и скрыть текст элемента в скрытом пролете:<li id="someId"><a href="#0"><i class="fa fa-minus"><span class="hidden">text</span></i></a></li>
. Для меня это простое и элегантное решение, вы можете поместить любой текст, который вам нужен, текст будет скрыт, и вам не нужно делать какие-либо преобразования$(this).html()
результата, как в варианте 1), чтобы получить то, что вам нужно.Надеюсь, это понятно и может кому-нибудь помочь :-)
источник