2014-01-25 144 views
3
$scope.activities = 
    [ 
     { id: 1, type: "DROPDOWN_MENU", name: "Dropdown Menu" }, 
     { id: 2, type: "HORIZONTAL_BAR", name: "Horizontal Bar" } 
    ]; 

<select data-ng-model="engineer.currentActivity" data-ng-options="a.name for a in activities">     
</select> 

使用上述我可以創建一個3值的選擇框,一個空白的,然後下拉菜單和水平欄。AngularJS ng-repeat設置默認選擇值

我想設置水平欄作爲我的默認值,不能看到如何做到這一點。

幫助將是巨大的

+1

順便說一句,如果你要結束了從服務器拉'activities',你需要滋潤選擇的選項,你想看看'ng-options'表達式中的'追蹤'表達式。 –

回答

4

在控制器中,只需添加一行設置初始選擇:

$scope.activities = 
    [ 
     { id: 1, type: "DROPDOWN_MENU", name: "Dropdown Menu" }, 
     { id: 2, type: "HORIZONTAL_BAR", name: "Horizontal Bar" } 
    ]; 

$scope.engineer = {}; // if needed 
$scope.engineer.currentActivity = $scope.activities[1]; 
3

在您的角度控制器:

$scope.activities = [ 
    { id: 1, type: "DROPDOWN_MENU", name: "Dropdown Menu" }, 
    { id: 2, type: "HORIZONTAL_BAR", name: "Horizontal Bar" } 
]; 
$scope.activity = $scope.activities[1]; //Bind 2nd activity to the model. 

在HTML:

<select ng-model="activity" 
    ng-options="activity as activity.name for activity in activities"> 
    <option value=""></option> 
</select> 

Fiddle