Angular 2: Erhalten Sie Werte von mehreren markierten Checkboxen
Mein problem ist wirklich einfach: ich habe eine Liste von Checkboxen so:
<div class="form-group">
<label for="options">Options :</label>
<label *ngFor="#option of options" class="form-control">
<input type="checkbox" name="options" value="option" /> {{option}}
</label>
</div>
Und ich würde Sie gerne ein array der ausgewählten Optionen, etwas wie:
[option1, option5, option8]
wenn die Optionen 1, 5 und 8 ausgewählt werden. Dieses array ist Teil eines JSON, ich würde Sie gerne über einen HTTP-PUT-Anfrage.
Vielen Dank für Ihre Hilfe!
InformationsquelleAutor der Frage Yannick Morel | 2016-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist hier eine einfache Weise mit
ngModel
(final Angular 2)InformationsquelleAutor der Antwort ccwasden
Habe ich eine Lösung zu finden, Dank Gunter! Hier ist mein ganzer code falls es jemand helfen könnte:
Hier sind die 3 Objekte, die ich verwende:
Und es gibt 3 Methoden:
1. Zu initiieren
optionsMap
:2. zum aktualisieren der
optionsMap
:3. konvertieren
optionsMap
inoptionsChecked
und speichern Sie es inoptions
vor Absenden der POST-Anfrage:InformationsquelleAutor der Antwort Yannick Morel
erstellen Sie eine Liste wie :-
Html :-
dann in es-Komponente: ts:
}
InformationsquelleAutor der Antwort Alok Kamboj
InformationsquelleAutor der Antwort Günter Zöchbauer
Habe ich nur vereinfachte wenig für diejenigen, deren sind anhand einer Liste von
value-Objekt.
XYZ.Comonent.html
** XYZ.Komponente.ts**.
erstellen Sie eine Liste -- xyzlist.
Bekommt jetzt Wert in der Componenet.ts.
InformationsquelleAutor der Antwort Gourav
Ich hoffe, dass dies helfen würde, jemanden, der das selbe problem hat.
templet.html
Komponente.ts
flightids array weitere arrays, wie dies
[ [ true, 'id_1'], [ false, 'id_2'], [ true, 'id_3']...]
hier true bedeutet, dass der Benutzer geprüft wird, false bedeutet, dass der Benutzer aktiviert dann deaktiviert.
Die Elemente, die Benutzer noch nie überprüft wird nicht eingefügt werden in das array.
InformationsquelleAutor der Antwort James Sung
Ich nur konfrontiert mit diesem Problem, und entschied mich, allen zu machen, arbeiten mit weniger Variablen, wie ich kann, zu halten Ihren Arbeitsbereich sauber. Hier ist zum Beispiel mein code
Methode, die auf Veränderung drängt Wert im Modell, oder es zu entfernen.
InformationsquelleAutor der Antwort tv1st
Ich hatte das gleiche problem und jetzt habe ich eine Antwort, die ich mehr mag (kann Sie auch). Ich begrenzt haben, jede checkbox ein array-index.
Zuerst habe ich definiert ein Objekt wie dieses:
Dann die Checkboxen wie folgt:
Wie Sie wissen-Objekte in JS werden arrays mit beliebigen Indizes. So das Ergebnis abgerufen, so einfach:
Zählung ausgewählt wie diese:
Und ähnlich abrufen ausgewählter solche, wie dieses:
Sehen Sie?! Sehr einfach, sehr schön. TG.
InformationsquelleAutor der Antwort ConductedClever