Ich habe eine Plunker here illustrating my issue. Ich habe ein Objekt mit einem zugeordneten division
. Es gibt keine division_id
auf dem Objekt, aber um die division
einzustellen oder zu aktualisieren, muss ich das division_id
Feld einstellen. Hier ist das Beispielobjekt:ng-Modell mit Assoziation auf Auswahlbox mit ng-Wiederholung auf Optionen
$scope.user = {
name: "John",
age: 32,
division: {
id: 3,
name: "Alpha"
}
};
und das Beispiel Divisionen:
$scope.divisions = [
{
name: "Gamma",
id: 1
},
{
name: "Alpha",
id: 3
},
{
name: "Beta",
id: 5
}
];
So wie ich baue das Auswahlfeld ist mit ng-repeat
, die ich hatte gehofft, würde die Notwendigkeit umgehen zu verfolgen ng-Modell für den ausgewählten Wert.
<div class="form-group">
<label for="">Division</label>
<select type="text" ng-model="user.division_id">
<option ng-repeat="division in divisions"
ng-selected="user.division.id == division.id">{{ division.name }}</option>
</select>
</div>
Wie Sie in der Demo sehen können, das selected
Attribut wird auf der rechten Seite Option platziert wird, aber immer noch das Auswahlfeld Anzeige ist leer. Selbst wenn ich dem Objekt division_id: 3
hinzufüge, bleibt es weiterhin leer. Wie kann ich das zum Laufen bringen, ohne das Objekt beim Laden und Aktualisieren zu konvertieren?
Edit: Um diese Frage zu adressieren als Duplikat gekennzeichnet ist, ich denke, das ist einzigartig, weil ich frage, wie man mit ng-repeat
das Auswahlfeld zu bauen, nicht ng-options
. Obwohl die Antwort der Antwort für das vorgeschlagene Duplikat ähnlich ist, denke ich, dass andere Leute bei dieser Methode hängen bleiben könnten und es hilfreich finden, zu sehen, dass die Antwort eine andere Technik erfordert.
Mögliches Duplikat [ng gewählte nicht in select-Elemente arbeiten] (http://stackoverflow.com/questions/17645620/ng-selected-not-working-in-select-element) –
Warum kann‘ t binden Sie einfach an 'ng-model =" user.division "'? – dfsq