2016-02-23 257 views
0

我正在創建角度選擇標籤。根據我已閱讀的許多網站和一些帖子,它說當使用選擇標籤不在選項標籤上使用「ng-repeat」,但在選擇標籤上使用「ng-options」時,這就是我如何設置它向上。我的問題是,我想默認選擇一個特定的選項標籤,我如何使用此方法設置選定的屬性?角選擇標籤

<select class="form-control" ng-model="selected_group" ng-change="new_group($event)" ng-options="group as (group.group_name | decodeuri) for group in groups"></select> 

回答

0

您可以添加一個<option>標籤:

<select class="form-control" ng-model="selected_group" ng-change="new_group(selected_group)" ng-options="group as (group.group_name | decodeuri) for group in groups"> 
    <option value="">Please Select an Option</option> 
</select> 
1

選擇一個默認的很簡單:設置selected_group等於你的控制器某一特定羣體。

其基本思想是你有一個集合,選定的選項將被存儲在你的ng-model。要從一開始就指定一個選擇,您需要在ng-model中添加一些內容。這將不得不在你的控制器中。

+0

如何?我試過ng-init =「selected_group = 1」,這是行不通的。 –

+0

不通過ng-init。在您的控制器中,執行像'$ scope.selected_group = $ scope.groups [0];' – bbrown

+0

這樣的操作,不應該像@ LJ.Wizard所示的那樣使用ng-init:請參閱文檔中的紅色警告 - https: //docs.angularjs.org/api/ng/directive/ngInit – bbrown

0

在這裏,我已經創建小型工作demo

<div ng-app="myApp" ng-controller="myCtrl"> 
<select class="form-control" ng-model="option.group" ng-options="group as (group.name | myfilter) for group in groups"> 
</select> 
</div> 


var app = angular.module('myApp', []); 
app.filter('myfilter', function() { 
    return function(v) { 
    return v == 'test3' ? 'filtered test3' : v; 
    }; 
}); 
app.controller('myCtrl', function($scope) {  

$scope.groups = [{id:1,name:'test1', phone:'1234567890'}, 
         {id:2,name:'test2', phone:'1234567890'}, 
         {id:3,name:'test3', phone:'1234567890'} 
        ]; 

$scope.option={      
    group: $scope.groups[1] 
    }      

});