2016-09-19 80 views
0

我想將元素的數量更改爲選擇框給出的數字。 我的代碼:
基於選擇的ngRepeat

的index.php

<select class="form-control-static" ng-model="fieldSelect" ng-change="showSelectValue(fieldSelect)"> 
    <option ng-repeat="i in getNumber(number) track by $index" value="{{$index+1}}">{{$index+1}}</option> 
</select> 

的index.php

<div ng-repeat="t in getTimes(1) track by $index")> 
    Hello! 
</div> 

default.js

$scope.showSelectValue = function(fieldSelect) { 
    contentFields = fieldSelect; 
    $scope.getTimes(); 
}; 

$scope.getTimes=function(n){ 
    n = contentFields; 
    return new Array(n); 
}; 

回答

3

試試這個工作的例子。

var myApp = angular.module('myApp',[]); 
 

 
myApp.controller('GreetingController', ['$scope', function($scope) { 
 
    $scope.getTimes=function(n){ 
 
    // Parse the value to int 
 
    return new Array(parseInt(n)); 
 
}; 
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="GreetingController"> 
 
<select class="form-control-static" ng-model="fieldSelect" ng-init="fieldSelect=1"> 
 
    <option ng-repeat="i in [1,2,3,4,5] track by $index" value="{{$index+1}}">{{$index+1}}</option> 
 
</select> 
 
    
 
<div ng-repeat="t in getTimes(fieldSelect) track by $index")> 
 
    Hello! {{$index}} 
 
</div> 
 
</div>

+0

謝謝!這對我有用! – CrazzyMarc

0

在你的HTML

<div ng-repeat="t in getTimes({{fieldSelect}}) track by $index")> 
    Hello! 
</div> 

在你的函數

$scope.getTimes=function(n){ 
    // Parse the value to int 
    return new Array(parseInt(n)); 
};