2015-01-10 3 views
0

Я создаю список <select> с ng-repeat, есть item.quantity, который должен быть выбран в каждом списке в списке, я пробовал несколько способов без успеха. Любая помощь будет оценена по достоинству.AngularJS select in ng-repeat

<div ng-repeat="item in items"> 

    <select ng-model="selCartQuantity"> 
    <option index="1" ng-selected="item.quantity=='1'">1</option> 
    <option index="2" ng-selected="item.quantity=='2'">2</option> 
    <option index="3" ng-selected="item.quantity=='3'">3</option> 
    <option index="4" ng-selected="item.quantity=='4'">4</option> 
    <option index="5" ng-selected="item.quantity=='5'">5</option> 
    </select> 

</div> 
+0

является «item.quantity» числовым или строковым значением? – scniro

+0

это числовое, спасибо @salniro – albertolo

ответ

0

в контроллере вы поместите следующий код (вы, конечно, изменить $ scope.items на ваш реальный объект)

$scope.items = [{name:'aaaaa'},{name:'bbbbb'}]; 
 
$scope.options= [1,2,3,4,5]; 
 
$scope.items.forEach(function(item,index){ 
 
    
 
    item.selCartQuantity= $scope.options[0]; 
 
    
 
}); 
 

 

 
and in the html markup you put the following
<div ng-repeat="item in items"> 
 

 
<select ng-model="item.selCartQuantity" ng-options="option for option in options"></select> 
 

 
</div>

`


0

Я бы рекомендовал проверить angular select driective, так как вам не нужно делать ng-repeat вообще. Директива select автоматически установит выбранную опцию как то, что у вас есть в вашей модели.