2014-10-26 5 views
0

У меня есть форма с динамически созданным списком выбора. Значения для этого списка извлекаются из области. Выбранное значение также извлекается из области действия.Синхронизировать параметр динамического списка выбора в AngularJS

К сожалению, существует проблема синхронизации.

Ниже это проиллюстрировано. Список динамического выбора показывает 1 как выбранный, но параметр равен 2. В списке статического выбора отображается правильное значение.

angular.module('fiddle', []) 
 
.controller('Ctrl', function($scope) { 
 
    $scope.xs = [1,2,3]; 
 
    $scope.param = 2; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="fiddle" ng-controller="Ctrl"> 
 
    Correct representation: 
 
    <select ng-model="param"> 
 
     <option value="1">1</option> 
 
     <option value="2">2</option> 
 
     <option value="3">3</option> 
 
    </select><br> 
 
    Incorrect representation: 
 
    <select ng-model="param"> 
 
     <option ng-repeat="x in xs" value="{{x}}">{{x}}</option> 
 
    </select><br> 
 
    param: {{param}} 
 
</body>

ответ

0

Как я правильно сформулировать свой вопрос, так как часто, я нашел решение уже.

Я должен использовать ng-options вместо ng-repeat в теге option.

<select ng-model="param" ng-options="x for x in xs"> 
</select> 

https://docs.angularjs.org/api/ng/directive/select

Смежные вопросы