简体   繁体   中英

Pre-select value in md-select - AngularJS

Below is my md-select dropdown. How do I preselect a list option from controller?

<md-input-container ng-init="Vacancies()" class="md-block" style="margin:0 !important;">
    <md-select ng-model="Vacancy" placeholder="Select a Vacancy" id="Md-select1" name="vacancy1" ng-change="setCriteria(Vacancy)">
    <md-option ng-value="vac" ng-repeat="vac in vacancylist">{{vac.JobTitle}}</md-option>
</md-select>
{{vacancy.JobTitle}}

I know at least 2 options to achieve that:

Option 1

add to HTML: ng-selected="options.indexOf(option) == 1"

Something like:

<md-select ng-model="selectedOption" md-on-open="mdSelectOnOpen()">          
         <md-option ng-repeat="option in options" ng-value="option" 
                    ng-selected="options.indexOf(option) == 1"
                    >{{option.name}}</md-option>

    </md-select>

Option 2

define md-select ng-model

<md-select ng-model="selectedOption.id" md-on-open="mdSelectOnOpen()">      
     <md-option ng-repeat="option in options" ng-value="option.id"                  
                >{{option.name}}</md-option>     
</md-select>

where:

$scope.options = [];
for(var i=1;i<=100;i++) {
  $scope.options.push({id: i, name: "option " + i});
}

 $scope.selectedOption = $scope.options[1];

Demo Codepen

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM