<select>
<option>1</option>
<option selected>2</option>
<option>3</option>
</select>
说我的json中有3个数量,我知道可以使用循环使用jquery但是如何使用ng-repeat of angular来构建我的html?因为它没有[1,2,3]而只有3。
http://jsfiddle.net/qpLuw80j/添加了jsfiddle以示例我的案例更清晰。
答案 0 :(得分:0)
将ng-repeat放在选项标签内 选项ng-repeat =&#34;值中的值&#34;
{{value.name}}
/选项
然后删除剩下的选项
答案 1 :(得分:0)
您可以使用此过滤器:
在此处检查您的代码:http://jsfiddle.net/qpLuw80j/2/
过滤器定义为:
var myApp = angular.module('myApp', []);
myApp.filter('range', function() {
return function(input, total) {
total = parseInt(total);
for (var i=1; i<=total; i++) {
input.push(i);
}
return input;
};
});
使用这样的重复:
<div ng-repeat="n in [] | range:100">
do something
</div>
<div ng-app='app' ng-controller='mainCtrl'>
<div ng-repeat="json in myJson">
<li>{{json.name}}</li>
<select>
<option ng-repeat="n in [] | range:json.qty" ng-bind="n"></option>
</select>
</div>
var angular = angular.module('app',['QuickList']);
angular.filter('range', function() {
return function(input, total) {
total = parseInt(total);
for (var i=1; i<=total; i++) {
input.push(i);
}
return input;
};
});
angular.controller('mainCtrl', function($scope){
$scope.myJson = [
{
"id": "1",
"name": "banana",
"price": 12,
"qty": 3,
},
{
"id": "2",
"name": "watermelon",
"price": 12.9,
"qty": 4,
}
]
})
答案 2 :(得分:0)
您可以使用map
向初始数组的每个项目添加数组:
$scope.myJson.map(function(item) {
item.qtyArray = [];
for (var i = 1; i <= item.qty; i++) {
item.qtyArray.push(i);
}
return item;
})
然后
<select ng-options="item for item in json.qtyArray" ng-model="selected"> </select>