基于选择打印多个输入字段
问题描述:
我正在构建一个带有angularjs的web应用程序,并希望拥有一个动态表单。我有一个表单控件,允许您选择一个数字1-10,我希望当您选择一个数字时,下面显示的是这个数量的新输入字段。基于选择打印多个输入字段
我用它来做一个健身应用程序,所以我们假设这个选项是针对“代表”的。用户选择5,现在显示5个输入字段,他们可以在其中输入他们完成的5个代表中的每一个的信息。
我该怎么做?
答
var i;
var inputFields;
formcontroll =inputfields; //i dont know what you used for form controll the number returned
for (i=0; i<inputfields; i++) {
$('i dont know where you want to put it').append('i dont know what you want to attach');
};
有可能是采用了棱角分明一个更好的办法,这将是即时
答
迭代的目的有ng-repeat
指令的角度。
对于使用ng-repeat
范围,而不是与可迭代集合,你可以创建自己的过滤器(结帐this answer)。
使用过滤器只需创建 “销售代表” 选项上控制范围和写水木清华旁边似: <input ng-repeat="n in [] | range:reps" type="text" name="firstname">
答
这工作:
var myAppModule = angular.module('ngApp', []);
myAppModule.controller('ngController', function($scope) {
$scope.reps = [];
$scope.addReps = function(n) {
for (var i=0; i<n; i++) {
$scope.reps.push(i);
console.log($scope.reps);
}
}
});
然后用下面的HTML:
<div ng-app="ngApp">
<div ng-controller="ngController">
<button ng-click="addReps(1)">1</button>
<button ng-click="addReps(2)">2</button>
<button ng-click="addReps(3)">3</button>
<button ng-click="addReps(4)">4</button>
<button ng-click="addReps(5)">5</button>
<br>
<div ng-repeat="n in reps">
<input type="text" name="reps-{{n}}" />
</div>
</div>
</div>
继承人的工作笔:http://codepen.io/ezy/pen/ojeKaX
一般来说它是最好的,如果你添加一个jsfiddle到你的代码中,或者至少会打乱它的体面,如果有人要为你做工作,你可以尽可能简化他们,你可以通过写代码和缩进来添加实际的代码它8次或选择它并按ctr-k –