Выпадающее меню bootstrap multiselect не выпадает

Я использую плагин bootstrap multiselect и привязываю к нему данные с помощью Knockout js. Он находится в этом jsfiddle. Параметры на самом деле привязываются к мультиселекту. Вы можете подтвердить это, щелкнув правой кнопкой мыши элемент мультиселекта в окне вывода jsfiddle и проверив его, и <option> действительно есть. Однако щелчок по элементу множественного выбора не приводит к раскрытию раскрывающегося списка.

множественный выбор начальной загрузки, похоже, не знает, что у него есть <option> в <select>, это доказано, когда Я использую параметр конфигурации disableIfEmpty, он навсегда отключает множественный выбор. Почему множественный выбор начальной загрузки не знает, что у него есть параметры, из-за чего он не открывает раскрывающийся список?

jsfiddle здесь


person BeniaminoBaggins    schedule 01.04.2016    source источник


Ответы (1)


Вы можете создавать экземпляры виджетов с множественным выбором только после нокаута, выполнившего свой рендеринг, что в основном происходит после ваших привязок применения.

Чтобы получить представление, проверьте эту разветвленную скрипту: http://jsfiddle.net/r0kbch7u/

Я в основном переместил код $("#category-select").multiselect() из вашего конструктора CategorySelect в ваш прослушиватель событий, загруженных документом.

person user3297291    schedule 01.04.2016
comment
Спасибо. Мне нравится метод dataFor для настройки множественного выбора. Любая идея, почему buttonWidth не 100%? Интересно, не работает ли dataFor по какой-то причине. - person BeniaminoBaggins; 01.04.2016
comment
Возможно, я сделал ошибку при получении файла конфигурации. Я посмотрю. Однако более важно то, что я в основном хотел показать важность порядка applyBindings и .multiselect. То, как я реализовал это в примере, не лучший способ. Было бы лучше, если бы вы создали собственный компонент нокаута, который использует свой метод init для инициализации множественного выбора. - person user3297291; 01.04.2016
comment
Обновленный пример: jsfiddle.net/r0kbch7u/1 Кажется, что-то не так с вашим контейнером кнопок, поскольку Что ж. Я добавил position: relative, потому что раскрывающийся список будет отображаться за пределами вашего представления. - person user3297291; 01.04.2016
comment
Идеальный. Обновленный пример отлично работает на моем сайте. Пользовательские нокаут-компоненты выглядят мощно. Я буду использовать их в будущем. Спасибо. - person BeniaminoBaggins; 01.04.2016