Sergey Kudryashov
Sergey Kudryashov

Reputation: 723

AngularJs can't set selected option by ng-repeat

I need to preselect my select rendered by ng-repeat

<body ng-app ng-controller="AppCtrl">
    <div>Operator is: {{openAccount.leverage}}</div>
    <select class="form-control" name="leverage" ng-model="openAccount.leverage">
        <option ng-repeat="leverage in currentType.leverageList"
                value="{{leverage}}" ng-selected="{{currentType.defaultLeverage == openAccount.leverage}}">1:{{leverage}}
        </option>
    </select>
</body>

function AppCtrl($scope) {
    $scope.currentType = {};
    $scope.currentType.leverageList = ['10','20','30'];
    $scope.currentType.defaultLeverage = '20';
}

This is my code and here is fiddle http://jsfiddle.net/FxM3B/440/

Upvotes: 1

Views: 873

Answers (3)

ssilas777
ssilas777

Reputation: 9754

HTML:

<body ng-app ng-controller="AppCtrl">
  <div>Operator is: {{openAccount.leverage}}</div>
  <select class="form-control" name="leverage" ng-model="openAccount.leverage">
  <option 
   ng-repeat="leverage in currentType.leverageList"
   value="{{leverage.value}}"
  ng-selected="{{openAccount.leverage == leverage.value}}"{{leverage.value}}</option>
</select>
</body>

Javascript:

function AppCtrl($scope) {
    $scope.openAccount ={
        leverage : '20'
    }
    $scope.currentType = {};
    $scope.currentType.leverageList = [
         {value: '10', displayName: '10'},
         {value: '20', displayName: '20'},        
         {value: '30', displayName: '30'} 
    ]      
 }

FIDDLE

Upvotes: 0

Vineet
Vineet

Reputation: 4635

Below code worked for me.

<option 
    ng-repeat="leverage in currentType.leverageList"
    value="{{leverage}}"
    ng-selected="{{currentType.defaultLeverage == leverage}}">1:{{leverage}}</option>

fiddle

Upvotes: 3

nuno
nuno

Reputation: 1791

You should try repeating the select options with the ngOptions directive.

<select ng-options="item.subItem as item.label for item in values track by item.id" ng-model="selected">

Example out of the AngularJS docs.

Upvotes: 0

Related Questions