【问题标题】:Set a selected option of a dropdown using angular bootstrap select使用角度引导选择设置下拉列表的选定选项
【发布时间】:2014-10-02 00:23:08
【问题描述】:

我正在尝试使用 angular bootstrap select 设置一个选项(在我的示例中,我使用了一个简单的按钮),我更新了 ng-model,我可以看到选择的变化,并快速返回到默认值。

这是一段sn-p代码:

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');
       }); 
    }

}

这是EXAMPLE

【问题讨论】:

    标签: javascript angularjs bootstrap-select angular-bootstrap


    【解决方案1】:

    angular-bootstrap-select.js 中定义的指令中的错误,删除这部分并尝试:

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

    【讨论】:

    • 你能更准确一点吗?我似乎无法在其中使用 $timeout,因为如果我这样做,引导选择不会正确注入。
    【解决方案2】:

    注释掉“$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');
         });
    
     }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-25
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 2018-06-13
      • 2019-08-02
      相关资源
      最近更新 更多