2015-01-26 6 views
6

Ich lerne Angular.js und ich bin zu einem Problem gekommen, das wahrscheinlich einfach sein sollte, aber ich kann nicht scheinen, eine Antwort auf zu finden.Formular Eingabe Arrays in eckigen

Ich möchte Formulareingaben mit dem Wert von "connectedTeams", wie dies in HTML erstellen:

<input type="text" name="connectedTeam[]"> 
<input type="text" name="connectedTeam[]"> 
<input type="text" name="connectedTeam[]"> 

Ich habe versucht, die folgenden in Winkel ...

<input type="text" name="connectedTeams[]" class="form-control" ng-model="user.connectedTeams"> 

... aber es bindet den gleichen Wert an alle 3 Eingänge. Ich weiß in meinem Kopf, dass dies sinnvoll ist, aber ich kann nicht herausfinden, wie es sagen, dass ng-Modell ist user.connectedTeams. [](Benutzer> connectedTeams> zu einem Array hinzufügen.

ich hoffe, dass dieser Sinn genug macht für jemanden eine schnelle Antwort zu geben.

+0

Die Eigenschaft 'name' hat keinen Einfluss auf die Bindung ... – tymeJV

+0

d. H. ? –

Antwort

9
ng-model="user.connectedTeams[0]" 
ng-model="user.connectedTeams[1]" and so on 

Sie es in einem ngRepeat setzen können, so dass Sie Ihren Code nicht wie oben wiederholen müssen.

FYI, Name wird nur zur Validierung in Ang verwendet Ularjs.

+0

Danke. Ich hatte das gerade herausgefunden und würde meine eigene Frage beantworten. Ich denke also, wenn ich eine add/remove Zeile mache, würde ich einfach eine Variable wie $ scope.i = 0 setzen; und jedes mal, wenn ich auf add klicke, würde ich den Wert von $ i erhöhen oder verringern. –

+0

sollten Sie ngRepeat doc lesen. Es gibt einen $ Index, den Sie verwenden können. – maxisam

+1

wird tun. Vielen Dank. –