【发布时间】:2015-06-04 10:30:54
【问题描述】:
我正在尝试使用 ng-repeat 和 ng-model 来填充数组。数组中所需元素的数量来自select 元素。
我的控制器的相关部分:
app.controller('AddMsgCtrl', function($scope){
$scope.range = function(n){
var array = [];
for(var i = 0 ; i < n ; i++)
array.push(i);
return array;
};
$scope.images = ['1.gif', '2.gif', '3.gif', '4.gif', 'any.gif'];
$scope.msg = { 'images': [] }
以及我的 html 的相关部分:
Number of images:
<select class="browser-default" ng-model="numOfImages" ng-init="numOfImages=0">
<option ng-repeat="number in range(6)" value="{{number}}">{{number}}</option>
</select>
<div>
<div ng-repeat="n in range(numOfImages) track by $index">
<select class="browser-default" ng-model= ???>
<option ng-repeat="image in images" value="{{image}}">{{image}}</option>
</select>
</div>
</div>
现在用户可以选择他们希望输入的图像数量,并显示相同数量的select 元素。我只是不确定如何使用ng-model 将所选元素添加到$scope.msgs.images 数组中。
编辑:我比我想象的更接近。这似乎工作正常:
<select class="browser-default" ng-model="msg.images[$index]">
<option ng-repeat="image in images" value="{{image}}">{{image}}</option>
</select>
【问题讨论】:
标签: javascript arrays angularjs angularjs-ng-repeat angularjs-ng-model