如何在 angularjs 中动态生成 ng-option

How to dynamically generate ng-option in angularjs

在这里,从json开始它会显示数量。根据数量值,select 选项需要动态生成,如下所示。

您可以将 limitTong-options 一起使用以动态显示 select 元素的 options

希望我有你想要的。

angular.module("app", []).controller("myCtrl", function($scope) {
  $scope.selectedItem = 1;
  $scope.list = [1, 2, 3, 4];
  $scope.quantity = 1;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="myCtrl">
  <select ng-model="quantity" ng-options="value as value for value in list"></select>
  <br>
  <select class="classname" ng-options="value as value for value in list | limitTo:quantity:0" ng-model="selectedItem">
    <!--<option ng-repeat="item in list | limitTo:quantity:0">{{item}}</option> -->
  </select>
  {{selectedItem}}
</div>

至于对问题的理解,您可以创建自定义过滤器以根据数量过滤掉选项。

angular.module("app",[])
.controller("ctrl",function($scope){

$scope.obj =  {
    "list": [
        {
    "quantity": [
            2,
            3,
            4
          ]}
    ]}
})
.filter('cust',function(){
  return function(item){  
    var arr  = []
    for(var i =1; i<= parseInt(item); i++){
     arr.push(i)
    }

    return arr

  }
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
 <div ng-repeat="q in obj.list">
 <div ng-repeat="i in q.quantity">
  <select ng-init="q.selectval[i] = i" class="classname" ng-model="q.selectval[i]" ng-options="value as value for (key,value) in i | cust" >
    
  </select> 
  {{q.selectval[i]}}
</div>
</div>
</div>