prüfen diese ähnliche Position, die das Problem für mehrere Kontrollkästchen löst. angular-2-get-values-of-multiple-checked-checkboxes
Ich habe
import {Component, NgModule } from '@angular/core';
@Component({
selector: 'test-app',
template: `
<label for="options">Options :</label>
<div *ngFor="let cbItem of cbArr">
<label>
<input type="checkbox"
name="options"
value="{{cbItem}}"
[checked]="cbChecked.indexOf(cbItem) >= 0"
(change)="updateCheckedOptions(cbItem, $event)"/>
{{cbItem}}
</label>
</div>
<button (click)="updateOptions()">Post</button>
`
})
export class TestComponent{
cbArr: string[];
cbChecked: string[];
constructor() {
this.cbArr = ['OptionA', 'OptionB', 'OptionC'];
this.cbChecked = ['OptionB'];
}
updateCheckedOptions(chBox, event) {
var cbIdx = this.cbChecked.indexOf(chBox);
if(event.target.checked) {
if(cbIdx < 0)
this.cbChecked.push(chBox);
} else {
if(cbIdx >= 0)
this.cbChecked.splice(cbIdx,1);
}
}
updateOptions() {
console.log(this.cbChecked);
}
}
in angular2 hier eine einfache Implementierung für Checkbox Staaten enthalten
Hier cbArr speichert die Werte oder Optionen benötigt und cbChecked speichert die ausgewählten Werte. Wenn Sie den Wert des Kontrollkästchens ändern, wird cbChecked aktualisiert. Das Kontrollkästchen wird aktualisiert und schließlich können Sie beim Klicken auf die Schaltfläche "Post" die cbChecked-Werte für die Liste der ausgewählten Elemente einfach ausdrucken.
Sie können versuchen, eventEmiiter '(klicken Sie auf)' this this '(click) = onClick ($ event.checked)'. Gibt wahr, wenn überprüft und falsch beim Deaktivieren von –
können Sie detaillierter mit mehr Code erklären, denn ich habe das onclick-Ereignis verwendet undefiniert. braucht $ event irgendetwas, um eine Klasse zu importieren? – Madhuri