Angular bootstrap-select продолжает показывать параметры после выбора

Я заметил, что при выборе angular bootstrap select (демонстрационный раздел) возникает проблема вариант, этот продолжает показывать параметры вместо того, чтобы быть скрытым. И если атрибут ng-model не используется, все работает нормально.

Это ПРИМЕР.

Часть кода:

      <select toggle selectpicker ng-model="form">
          <option>Mustard</option>
          <option>Ketchup</option>
          <option>Relish</option>
      </select>

С уважением,


comment
Можете ли вы добавить скрипка для этого. Трудно точно сказать, в чем проблема, если я не вижу всего ее кода.   -  person WebWanderer    schedule 29.07.2014
comment
Я уже добавил плунжер (ПРИМЕР)   -  person Mils    schedule 29.07.2014
comment
element.selectpicker('refresh') очищает существующие lis и добавляет новые, поэтому событие, которое вы связали, теряется. Вот почему он работает, когда не используется ng-модель, так как тогда не вызывается обновление   -  person PSL    schedule 29.07.2014


Ответы (1)


Похоже, что события, связанные в директиве angular-bootstrap-select.extra для элементов списка li, не выполняются, когда к этому подключена ng-model. Причина в том, что в директиве angular-bootstrap-select при изменении значения модели он вызывает element.selectpicker('refresh');, который в конечном итоге в методах обновления удаляет и воссоздает элементы списка, поэтому события кликов, связанные в директиве angular-bootstrap-select.extra на li, теряются. Вероятно, вы можете быстро исправить это, используя делегирование событий для родителя.

Пытаться:

 element.next().on('click', 'li', function () {
       target.toggleClass('open')
});

Вместо :-

 element.next().find('li').bind('click', function () {
    target.toggleClass('open')
 })

Plnkr

person PSL    schedule 29.07.2014
comment
Отличная работа! Другое дело, когда вы нажимаете на выбор и выбираете другой выбор, не выбирая параметр в первом, оба будут отображать параметры, как я могу это исправить? - person Mils; 29.07.2014
comment
@Mils Извините, я не понял вашего вопроса? - person PSL; 30.07.2014
comment
на самом деле вы ответили на мой вопрос, но я заметил еще одну проблему. Спасибо. - person Mils; 30.07.2014
comment
@Mils Да, я понял .. :) Но я не понял вопроса .. :) - person PSL; 30.07.2014
comment
проблема в том, что в данный момент вы можете заметить, что два варианта выбора отображают раскрывающийся список, обычно, когда вы выбираете другой выбор, другой должен скрывать свои параметры. Примерно так: img15.hostingpics.net/pics/199141issue.png - person Mils; 30.07.2014
comment
@ Милс, а, понял ... Да, я думаю, это потому, что компонент не обрабатывает щелчок снаружи, чтобы скрыть его ... - person PSL; 30.07.2014