0

我目前有一種表單,其中個人可以通過兩個輸入字段添加名字和姓氏。在某些情況下,他們可能想要添加更多的 ,所以我想在下面提供按鈕/位的文本,如果他們點擊將創建另一個名字和姓氏輸入字段以添加 信息。理想情況下,我希望這個重複不定,他們可以隨時添加儘可能多的他們想要的,但我知道 有點不現實,所以如果我決定讓他們能夠添加10個名字和姓氏,我會很高興。林只是想知道如果我可以 完成這個角度,如果是的話,那麼最好的方法是什麼?利用目錄和ng-repeat或者沿着這些 行?我還想要一些文本,如果點擊,它們只會刪除指定的名字/姓氏輸入。連續添加新表單輸入

如果可能(如果可能的話,不要求任何人繼續並編碼),我將不勝感激任何建議,更多隻是 準則,我如何才能做到這一點。只是似乎不能想到在我腦海中做到這一點的最佳方式。

謝謝。

回答

2

這是可能的,

在你的控制器中,爲了讓事情更具結構化,你可以有類似的東西

var name = function (first, last) { 
    this.first = first; 
    this.last = last; 
} 

$scope.names = [new name()]; // start off with one firstname + lastname 
$scope.addName = function() { 
    $scope.names.push(new name()); // add a blank name 
} 

和相應的html;

<div ng-repeat="name in names"> 
    <input type="text" ng-model="name.first" placeholder="firstname"/> 
    <input type="text" ng-model="name.last" placeholder="lastname"/> 
</div> 
<button ng-click="addName()"></button> 
+0

非常感謝,因爲這對我非常有幫助。欣賞它。 :) – J145 2014-09-06 16:25:28

1

那麼,這是絕對有可能的,並且它可能比做特定數量的輸入更容易。

對於角度控制器中的JavaScript代碼,我將有一個數組與名稱被添加。開始與空數組,然後一個函數,將添加到該數組:

$scope.namesToAdd=[]; 
$scope.moreNames=function(){ 
    namesToAdd.push({first:'',sirname:''}); 
}; 

那麼對於html代碼會是這樣的:

<input type="text" ng-repeat-start="names in namesToAdd" ng-model="names.first"> 
<input type="text" ng-repeat-end ng-model="names.sirname"> 
<button ng-click="moreNames()">Add more names</button> 
+0

感謝您的意見,不錯的建議:) – J145 2014-09-06 16:25:44