如何知道使用angular2检查了哪些复选框?

时间:2017-03-24 20:00:29

标签: angular typescript

我目前正在使用angular2。我有我的HTML代码

<div *ngFor="let val of channelForTabs; let i=index">
            <label for="isCheckBox" style="margin-left:15px;">Draw</label>
            <input id="checkBox{{i}}" type="checkbox" class="fitCheckbox" style="margin-left: 10px;width: 16px;" />
            <de-series-prop></de-series-prop>
        </div>

与channelForTabs中的值一样多次,多次复选框和系列组件都会被添加。如何在不调用(更改)方法的情况下检查选中的所有复选框。

我想知道点击按钮如何查看选中的复选框并使用相应的系列数据。

2 个答案:

答案 0 :(得分:3)

您应该使用ngModel和ngModelChange事件,如下所示

<input type="checkbox" (ngModelChange)="clickedItem(color, $event)" checked="false" [ngModel]="!color"> {{color}}<br>

,您的方法将为

 clickedItem(val,event){
    if(event){
    this.selectedItems.push(val);
    }
    console.log(val);
  }

<强> LIVE DEMO

答案 1 :(得分:1)

这将有效,但如果用户取消选中某个选项,则该值将保留在数组中。它必须在每次未经检查时拼接。

let indexx = this. selectedItems.indexOf(element.value); this. selectedItems.splice(indexx, 1);