2014-01-25 5 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> 

Используя вышеизложенное, я могу создать поле выбора с тремя значениями, пустым, а затем выпадающим меню и горизонтальной полосой.AngularJS ng-repeat setting default value value

Я хотел бы установить горизонтальную панель в качестве моего значения по умолчанию и не могу видеть, как это сделать.

Помощь было бы здорово

+1

Кстати, если вы собираетесь в конечном итоге потянув 'activities' с сервера, и вам нужно увлажнять выбранный вариант, вы хотите посмотреть в выражения 'track by' внутри выражения' 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