2015-10-13 35 views
0

我正在構建一個帶有angularjs的web應用程序,並希望擁有一個動態表單。我有一個表單控件,允許您選擇一個數字1-10,我希望當您選擇一個數字時,下面顯示的是這個數量的新輸入字段。基於選擇打印多個輸入字段

我用它來做一個健身應用程序,所以我們假設這個選項是針對「代表」的。用戶選擇5,現在顯示5個輸入字段,他們可以在其中輸入他們完成的5個代表中的每一個的信息。

我該怎麼做?

+0

一般來說它是最好的,如果你添加一個jsfiddle到你的代碼中,或者至少會打亂它的體面,如果有人要爲你做工作,你可以儘可能簡化他們,你可以通過寫代碼和縮進來添加實際的代碼它8次或選擇它並按ctr-k –

回答

0
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'); 
}; 

有可能是採用了棱角分明一個更好的辦法,這將是即時

1

迭代的目的有ng-repeat指令的角度。

對於使用ng-repeat範圍,而不是與可迭代集合,你可以創建自己的過濾器(結帳this answer)。

使用過濾器只需創建 「銷售代表」 選項上控制範圍和寫水木清華旁邊似: <input ng-repeat="n in [] | range:reps" type="text" name="firstname">

0

這工作:

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