По умолчанию отображаются выбранные параметры Mutilple в элементе управления Select с использованием Bootstrap Select

Я создал элемент управления выбором множественного выбора, используя выбор Bootstrap.

По умолчанию мне нужно показывать динамически выбранные элементы. Когда я делаю выбор в опции ALL selection (<option value="All" selected >All</option>), по умолчанию он показывает выбранный в пользовательском интерфейсе. Но когда для одной выбранной опции галочка не показывается.

Демо здесь: https://jsfiddle.net/sharmilashree/L7wzv5k0/10/

(i.e)

<option value="All" selected >All</option>
<option value="EC" selected>EC (Early Childhood)</option>

person Ammu    schedule 23.01.2017    source источник
comment
В пользовательском интерфейсе jQuery нет selectpicker. Вы имеете в виду Селектменю?   -  person Twisty    schedule 24.01.2017
comment
Возможный дубликат stackoverflow.com/questions/40224287/   -  person Twisty    schedule 24.01.2017
comment
Привет Twisty- Спасибо за ваш ответ. Я не хочу менять значение опции. Мне нужно показать галочку, когда опция выбрана (т.е. ‹значение опции=выбрано EC›EC (раннее детство)‹/опция›). Но в коде это показывает конкретный выбранный параметр. Я обнаружил, что в какой момент возникает проблема (когда выбран вариант Все код). если я удалю код ниже, он отлично работает. Но я тоже хочу выбрать вариант «Все». Пожалуйста, помогите в этом. $('#myselect').selectpicker().change(function () { toggleSelectAll($(this)); }).trigger('change');   -  person Ammu    schedule 24.01.2017


Ответы (2)


Я подозреваю, что проблема в том, что вы прокомментировали, здесь:

$('#myselect').selectpicker().change(function () { toggleSelectAll($(this)); }).trigger('change');

Если вы отбросите trigger('change'), он будет работать как положено:

https://jsfiddle.net/Twisty/3pfq5u41/

Я предполагаю, что мой вопрос заключается в том, почему инициировать событие change? Действительно, я думаю, что вы хотите выполнить toggleSelectAll() только тогда, когда выбрано значение «Все».

Возможно, что-то вроде: https://jsfiddle.net/Twisty/3pfq5u41/2/

Надеюсь, это поможет.

person Twisty    schedule 25.01.2017
comment
Спасибо за ваш ответ. демо, упомянутое здесь: jsfiddle.net/Twisty/3pfq5u41 Работает нормально, но в одном случае не дает решение (т.е.) Если вы попытаетесь выбрать другой вариант, предыдущая галочка выбора будет потеряна, а новый выбранный вариант не будет отображаться. Мое требование: выбрать все / выбрать все в опции «Все» по умолчанию, поэтому отметьте отметку для уже выбранных элементов. Разрешить пользователю редактировать выбранные параметры. Заранее спасибо. - person Ammu; 25.01.2017
comment
@ Амму, ты все еще работаешь над этим? Я не мог понять, что вы имели в виду в своем комментарии. - person Twisty; 13.03.2017

  1. Неправильный выбор события:

Заменять

$('#myselect').selectpicker().change(function () { toggleSelectAll($(this)); }).trigger('change');

to

$('#myselect').selectpicker().change(function () { toggleSelectAll($(this)); }).trigger('select');
  1. Также проверьте наличие «неопределенного».

    if (control.data('allOptionIsSelected') != allOptionIsSelected && typeof(control.data('allOptionIsSelected')) != "undefined") {

Готово! Удачного кодирования.

person Sumit Sharma    schedule 31.01.2017