2015-08-20 3 views
0

Я выбрал select, и мои параметры получаются по ng-model и ng-options. Как я могу выбрать 1-й вариант при загрузке страницы?Как сделать первый вариант, выбранный в выбранном выборе

<select chosen data-placeholder="Choose a project..." 
    ng-model="workflow.ProjectID" 
    ng-model-options="{ updateOn: 'blur' }" 
    ng-change="addActionButtons()" 
    ng-options="item.Id as item.Name for item in projectList"> 
    <option value=""></option> 
</select> 

Это контроллер:

$scope.bindModel = function(data) { 
    $scope.model = data; 
    $scope.projectList = Global.projectList; 
    $scope.Task.push($scope.newTask()); 
}; 

$scope.Task = []; 

$scope.newTask = function() { 
    return {       
     ProjectId: $scope.workflow.ProjectID = $scope.projectList[0].Id, 
     Date: getDate(), 
     TaskDescription: '', 
     TimeWorked: '1', 
     Note: '', 
     isSaved: false 
    }; 

};

+0

Дубликат http://stackoverflow.com/questions/18194255/how-to-have-a-default-option-in-select-box-angular-js – Kushal

ответ

2

Вы можете использовать ng-init

Использование

ng-init="workflow.ProjectID = projectList[0]['Id']" 
+0

спасибо, это сработало! – HUSTLIN

+0

@ HUSTLIN: Добро пожаловать! :-) –

0

На контроллере, вы должны поставить что-то вроде этого:

//If workflow is never use in your controller, you have to declare it before 
$scope.workflow = {}; 
$scope.workflow.ProjectID = $scope.projectList[0].Id; 
+0

У меня есть ошибка: Невозможно установить свойство «ProjectID» неопределенного. Я добавил код ctrl на вопрос – HUSTLIN

+0

@HUSTLIN Это потому, что вы используете его только в своей 'ng-model' и worflow wans't declare. Отредактировано. –

0

Вы можете попробовать что-то вроде этого:

//init list select 
$scope.values = [{ id: 1, label: '1' }, { id: 2, label: '2' }, { id: 3, label: '3' }, { id: 10, label: '10' }, { id: 20, label: '20' }]; 
// in your html ng-init select the first items in values 
<select ng-options="item.label for item in values track by item.id" ng-model="selected" ng-change="changeNumPerPage(selected)" ng-init="selected = values[0]"></select>