Клиент предоставил мне дизайн, в котором есть меню Select Option, содержащее флажок вместе с названием элемента в виде отдельных элементов в списке. Есть ли возможность добавить флажок в меню выбора параметров?
NB: разработчику необходимо добавить свой собственный идентификатор, чтобы сделать меню эффективным, мне нужен только код HTML CSS, если это возможно.
javascript
html
css
html-select
Герой Тра
источник
источник
Ответы:
Вы не можете установить флажок внутри элемента select, но вы можете получить ту же функциональность, используя HTML, CSS и JavaScript. Вот возможное рабочее решение. Объяснение следует.
Код:
Пояснение:
Сначала мы создаем элемент выбора, который показывает текст «Выбрать параметр», и пустой элемент, который покрывает (перекрывает) элемент выбора (
<div class="overSelect">
). Мы не хотим, чтобы пользователь нажимал на элемент выбора - он покажет пустые параметры. Чтобы перекрыть элемент с другим элементом, мы используем свойство CSS position со значением relative | абсолютный.Чтобы добавить функциональность, мы указываем функцию JavaScript, которая вызывается, когда пользователь нажимает на div, содержащий наш элемент select (
<div class="selectBox" onclick="showCheckboxes()">
).Мы также создаем div, содержащий наши флажки, и стилизуем его с помощью CSS. Вышеупомянутая функция JavaScript просто изменяет
<div id="checkboxes">
значение свойства CSS display с «none» на «block» и наоборот.Решение было протестировано в следующих браузерах: Internet Explorer 10, Firefox 34, Chrome 39. В браузере должен быть включен JavaScript.
Больше информации:
CSS позиционирование
Как наложить один div на другой div
http://www.w3schools.com/css/css_ позиционирование.asp
CSS свойство отображения
http://www.w3schools.com/cssref/pr_class_display.asp
источник
overselect
div, который потенциально мог вызвать некоторые проблемы в сложном интерфейсе, который я использовал<option selected hidden>Select an option</option>
. Возможно, это не лучшее применение,hidden
но оно работает.Лучший плагин на данный момент - Bootstrap Multiselect.
Вот ДЕМО
источник
Для подхода на чистом CSS вы можете использовать
:checked
селектор в сочетании с::before
селектором для встраивания условного содержимого.Просто добавьте класс
select-checkbox
в свойselect
элемент и включите следующий CSS:Вы можете использовать простые старые символы Юникода (с экранированной шестнадцатеричной кодировкой ), например:
\2610
\2611
Или, если вы хотите оживить ситуацию, вы можете использовать эти глифы FontAwesome
\f096
\f046
Демо в jsFiddle и Stack Snippets
Показать фрагмент кода
источник
multiple
атрибут делает<select>
вид прямоугольника, а не раскрывающегося списка ...<select multiple>
элементу, так что это должен быть предполагаемый вариант использования. Селекторы CSS должны быть специфичными для применения этого класса, поэтому вы решите использовать его для отдельных элементов, применяя.select-checkbox
классПопробуйте использовать множественный выбор , особенно несколько элементов . Похоже, это очень чистое и управляемое решение с множеством примеров. Вы также можете просмотреть источник.
источник
Я начал с ответа @vitfo, но я хочу иметь
<option>
внутри<select>
вместо полей флажков, поэтому я собрал все ответы, чтобы сделать это, вот мой код, надеюсь, он кому-то поможет.источник
Альтернативная версия Vanilla JS с щелчком снаружи, чтобы скрыть флажки:
Я использую addEventListener вместо onClick, чтобы воспользоваться преимуществами параметров фазы захвата / всплытия, а также stopPropagation (). Вы можете узнать больше о захвате / пузырьке здесь: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
Остальная часть кода соответствует исходному ответу vitfo (но не требует onclick () в html). Несколько человек запросили эту функцию без jQuery.
Вот пример кода https://codepen.io/davidysoards/pen/QXYYYa?editors=1010
источник
Вы можете использовать эту библиотеку в git для этой цели https://github.com/ehynds/jquery-ui-multiselect-widget
для запуска окна выбора используйте это
и когда у вас есть данные, готовые в json (из ajax или любого метода), сначала проанализируйте данные, а затем назначьте ему массив js
источник
Используйте этот код для списка флажков в меню параметров.
источник
dropdown-menu
элемента с флажками в каждой строке, вот ответ на установкуВы могли загружать файл multiselect.js до того, как список опций обновился с помощью вызова AJAX, поэтому при выполнении файла multiselect.js есть пустой список опций для применения функции множественного выбора. Поэтому сначала обновите список параметров с помощью вызова AJAX, затем инициируйте вызов множественного выбора, вы получите раскрывающийся список с динамическим списком параметров.
Надеюсь, это поможет вам.
Выпадающий список с множественным выбором и связанные файлы js и css
источник
Вы можете попробовать Bootstrap-select . Там тоже есть живой поиск!
источник
Если вы хотите создать несколько раскрывающихся списков выбора на одной странице:
HTML:
Используя JQuery:
источник
Только добавьте class create div и добавьте class form-control. Я использую JSP, boostrap4. Игнорировать c: foreach.
источник