は、複数のチェックボックスのための問題を解決し、この類似の記事をチェックしてください。 angular-2-get-values-of-multiple-checked-checkboxes
私はここに必要な値またはオプションを格納し、cbCheckedが選択された値を格納しcbArrここangular2
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);
}
}
のチェックボックスの状態のための単純な実装が含まれています。チェックボックスの値を変更すると、cbCheckedが更新されます。idチェックボックスの項目が更新され、最後に「ポスト」ボタンをクリックすると、選択中の項目のリストのcbChecked値が表示されます。
この '(click)= onClick($ event.checked)'のように、eventEmiiter '(click)'を試すことができます。チェックされている場合はtrue、チェックしない場合はfalse –
は、より多くのコードでより詳細に説明できます。私はonclickイベントを使用しています。 $ eventはクラスをインポートするために何か必要ですか? – Madhuri