Dynamische Select-Liste Standardmäßig Ausgewählte Element - Angular JS
Habe ich den unten aufgeführten code, die funktioniert einwandfrei, jedoch wenn ich versuche, die Beurteilung ng-Modell und Verwandte ng-wechseln Sie auf die wählen Sie eine leere option Hinzugefügt. Ich zu verstehen, warum, es ist, weil auf init der selectedOption für ng-model leer ist.
Was ich will zu tun ist, legen Sie einen Standardwert, so dass, wenn mir ng-ändern, um Optionen IsSelected Wert auf true, wenn der Benutzer es auswählt. Ich bin nur nicht sicher, wie Sie dies angehen können, habe ich keine Probleme dies zu tun, wenn ich arbeite mit einer statischen generierten select-Liste, aber aus irgendeinem Grund kann ich nicht herausfinden für diese dynamisch generierten Liste.
Jede Eingabe wird geschätzt!
<div ng-repeat="optionType in productDetailModel.OptionTypes">
<select name="{{optionType.OptionTypeName}}">
<option ng-repeat="option in optionType.Options"
value="{{option.OptionValue}}">{{option.OptionValue}}
</option>
</select>
</div>
Hier plunkr ich verspottet zu geben eine grundlegende Vorstellung davon, was ich im Sinn habe: http://plnkr.co/edit/xBDfc0XzDwsF0mBiFZOv?p=preview
InformationsquelleAutor Mike Anderson | 2015-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die erste option ist leer, weil das Modell wird zunächst nicht definiert.
Als tymeJV sagte, initialisieren Sie Ihren Spielraum innerhalb Ihrer .js definiert einen Standard-Wert, der gezeigt wird, wie anfänglich ausgewählt.
Könnte es hilfreich sein, ng-Optionen anstelle von ng-repeat. Ein Grund, warum es nützlich sein könnte, ist, dass ng-Optionen nicht erstellen Sie einen untergeordneten Bereich (im Gegensatz zu ng-repeat). Dies könnte helfen, vereinfachen, verknüpfen Sie Ihr Modell und Verwirrung zu vermeiden.
Dieser Artikel deckt die Grundlagen der ng-Möglichkeiten, als auch diskutiert, warum es verwendet werden würde, im Gegensatz zu ng-repeat.
Hoffe, das hilft.
plnkr.co/Bearbeiten/Y7IpeQVutUl4bPnvZl0A?p=Album Vorhören Dies ist Ihre plunk. Ich habe gerade Gabel. Es arbeitet mit den ng-Optionen anstelle von ng-repeat. Ich bin immer noch versuchen, um den ursprünglichen Wert für das Modell, obwohl, sorry.
Dank für das betrachten, das...wenn man sich meine plunkr ich habe eine Schleife durch OptionTypes zu versuchen, das Modell, ich war in der Lage, um die letzten Werte, aber nicht alle von Ihnen...hmmm
Das ist, weil Sie nur 1 ng-model (weil der statische name in ng-Modell, wie ng-repeat erzeugt die wählt), und nach der ersten iteration der Schleife (die, die zum festlegen von Standardeinstellungen in Ihrem app.js), überschreiben Sie die Standardwerte für die wählen Sie zunächst mit den default für den zweiten wählen. Die Art und Weise, die ich bekommen habe rund, ist dynamisch benennen Sie Ihre ng-model über ein Attribut des Objekts. Das macht es so jeder wählen Sie Ihre eigene ng-Modell, nicht ein universal-Modell für alle wählt.
Genial..kannst du mir zeigen wie du das getan? Ich wollte nicht sehen, die änderung in Ihrer plunkr Gabel
InformationsquelleAutor KhainTCore
Verwenden
ng-options
bei Verwendung einesselect
!Und legen Sie dann die
ngModel
zu den Standard -option
Sie auswählen möchten:InformationsquelleAutor tymeJV
Gibt es eine Richtlinie von wählen Sie element ist ng-init aber es rufen einmal während der ersten time rendering, aber wenn Sie die Optionen ändern sich dynamisch, dann wird es nicht noch einmal anrufen. Also für die, die Sie benötigen, um das Modell-Feld mit dem Wert im Bereich knapp unter Ihrem neuen option Bevölkerung Logik.
InformationsquelleAutor Pravin Abhale