2017-03-06 4 views
0

Ich muss ein Formular erstellen, um die Partner eines Unternehmens zu registrieren.Array-Felder in Angular 2

Es gibt ein Kontrollkästchen, das aktiviert wird, wenn 1 Feld aktiviert ist und Sie die Informationen eingeben können, z. B .: -> Name des Partners.

Aber wenn der Benutzer mehr den 1 Partner registrieren möchte, könnte eine Schaltfläche ein anderes Feld erstellen, um einen anderen Namen einzufügen.

Wie kann ich mit diesen Namensfeldern arbeiten? Wenn ich PHP verwendet, habe ich das Feld wie folgt aus:

Und ich die Werte erhalten = name [0] ... name [1] ... etc

In Angular 2, wie kann ich tun Dies?

+0

Und was hast du probiert? Dies ist kein kostenloser Kodierungsdienst;) – Alex

+0

Ich frage nach Ideen, wie ich das in Angular 2 machen kann, aber wenn Sie nicht antworten wollen, bitte nicht stören, D –

+0

: P Nun, erstellen Sie ein Array , iterieren Sie es mit ngFor und zeigen Sie ein Eingabefeld innerhalb der Iteration an, und fügen Sie auf Knopfdruck ein neues Element zu Ihrem Array hinzu. Überprüfen Sie die Tutorials bei angular.io, das ist ein gutes Tutorial für den Einstieg in die Grundlagen :) – Alex

Antwort

1

Sie ein Array wie

let fields: any = [{ 
checkbox: false, 
textbox: "" 
}]; 

Verwendung Schleife durch die Formelemente mit dieser Anordnung wie diese

<div *ngFor="let item of fields;"> 
<input type="checkbox" name="somename" [(ngModel)]="item.checkbox"/> 
<input type="text" [disabled]="item.checkbox" name="somename" [(ngModel)]="item.textbox"/> 
</div> 
<button (click)="addField()">Add Another</button> 

, wenn Benutzer klicken Sie auf diese Schaltfläche

es
addField(){ 
this.fields.push({ 
    checkbox: false, 
    textbox: "" 
}); 
} 

das ist schaffen