我正在構建一個帶有angularjs的web應用程序,並希望擁有一個動態表單。我有一個表單控件,允許您選擇一個數字1-10,我希望當您選擇一個數字時,下面顯示的是這個數量的新輸入字段。基於選擇打印多個輸入字段
我用它來做一個健身應用程序,所以我們假設這個選項是針對「代表」的。用戶選擇5,現在顯示5個輸入字段,他們可以在其中輸入他們完成的5個代表中的每一個的信息。
我該怎麼做?
我正在構建一個帶有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 –