Установите выбранный вариант раскрывающегося списка с помощью углового выбора начальной загрузки

Я пытаюсь установить опцию с выбором углового загрузчика (в моем примере я использую простую кнопку), я обновляю ng-модель и вижу изменения выбора и быстро возвращаюсь к значению по умолчанию.

Это фрагмент кода:

function SelectCtrl($scope, $timeout) {

   $scope.options = [
        {value: 'option1', text: 'option 1'},
        {value: 'option2', text: 'option 2'},
        {value: 'option3', text: 'option 3'}
    ];


    $scope.updateOption = function() {


       $scope.theOption = $scope.options[0];

       $timeout(function() {  
         $('.selectpicker').selectpicker('refresh');
       }); 
    }

}

Это ПРИМЕР.

2 ответа

Решение

Ошибка в директиве, определенной в angular-bootstrap-select.js, удалите эту часть и попробуйте:

  ngModel.$render = function () {
    $timeout(function () {
      element.selectpicker('val', element.val() || '');
    });
  };

Закомментируем строку "$scope.theOption = $scope.options[0];" должно сработать.

Это должно работать:

angular.module('selectDemoApp', ['angular-bootstrap-select', 'angular-bootstrap-select.extra']);

function SelectCtrl($scope, $timeout) {

  $scope.options = [
            {value: 'option1', text: 'option 1'},
            {value: 'option2', text: 'option 2'},
            {value: 'option3', text: 'option 3'}
        ];


 $scope.updateOption = function() {


     //$scope.theOption = $scope.options[0];

     $timeout(function() {  
        $('.selectpicker').selectpicker('refresh');
     });

 }

}
Другие вопросы по тегам