Winkel-2: Wie man den ausgewählten Wert aus verschiedenen Optionen eine form?
Ich würde gerne eine <select>
in einer form, die lassen die Benutzer in der Lage, die Werte zu aktualisieren zwischen verschiedenen <option>
. Ich habe die Technik aus der Anleitung hier: https://angular.io/docs/ts/latest/guide/forms.html. Hier ist die Probe, die ich spreche:
<div class="form-group">
<label for="type">Type :</label>
<select class="form-control" [(ngModel)]="order.type" ngControl="type">
<option *ngFor="#type of types" [value]="type">{{type}}</option>
</select>
</div>
In meine Bestellung-details.Komponente habe ich eine updateOrder() die Aufrufe der updateOrder() aus der Anwendung.services.
Mein problem ist wenn ich versuche zu senden, die Daten aus dem Formular an das back-end: alle Teile mit einem <input>
sind OK, aber nicht diejenigen, die mit <select>
(es gibt die ursprünglichen Werte, und nicht der gewählten).
Hat jemand auf dieses oder ein ähnliches problem?
Vielen Dank für Ihre Hilfe!
- Sieht aus wie ein dup von stackoverflow.com/questions/34686855/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein Weg, um den Wert von verschiedenen Optionen.
überprüfen Sie diese plunker
component.html
Komponente.ts
Wurde der Bekämpfung dieses Problems für ein paar Stunden.
Überprüft die (unvollständige) Dokumentation zu finden, die ein Element in der NgSelectOption Seite namens "ngValue"
Nicht sicher, ob dies ist die beabsichtigte Verwendung, aber es schien zu funktionieren.
Anstatt also mit
Verwenden:
Verwenden Sie einfach ngModel auf die select-und die ngModelChange Ereignis, wenn Sie etwas tun wollen, wenn Sie sich ändert.
{{item.name}}
könnten Sie dann tun<select size="10" [(ngModel)]="this.selected">
<option *ngFor="let item of items" [ngValue]="item">{{item.Name}}</option>
</select>
in diesem Fall.ausgewählt würde ein Objekt sein. Wenn Sie nur[value]
diese.ausgewählt würde ein string namens '{Objekt}'In der Tat kann ich nicht nachvollziehen dein problem. Ich erstellte eine plunkr mit einer sehr einfachen form mit einem
input
und einselect
. Wenn ich das Formular abschicken, habe ich die tatsächlichen Werte in der gebundenen Objekts. Sehen Sie diese plunkr: https://plnkr.co/edit/5C3agW7QZfcrdt88QzSh?p=preview.Fühlen Sie sich frei, mir zu sagen, wenn ich nicht richtig dein problem verstanden.
Thierry
<input>
, aber egal welche ich wähle in der<select>
das console-log sagt "type1". Nicht du hast das gleiche Verhalten? Vielen Dank für die Zeit die Sie sich genommen haben um das problem zu reproduzieren, indem Sie die Art und Weise 🙂Wenn Sie statische, hartcodierte Werte für das select-tag wie folgt:
Können Sie Folgendes tun: