检查是不是选中了所有复选框
Posted
技术标签:
【中文标题】检查是不是选中了所有复选框【英文标题】:Check if all checkboxes are checked检查是否选中了所有复选框 【发布时间】:2018-03-27 06:31:59 【问题描述】:如果我有一个如下所示的动态复选框,我如何检查是否选中了所有复选框,以便我可以根据是否全部选中来禁用/启用按钮。
我正在使用 Angular 2+
<ion-item *ngFor="let field of filters">
<ion-checkbox [(ngModel)]="filters[field]"></ion-checkbox>
</ion-item>
【问题讨论】:
你可以检查所有filters[field]
是否为真
你能发布你的filters
对象吗?
【参考方案1】:
您可以做的是向您的 filters
数组引入一个布尔值,然后将其分配给您的双向绑定,并在更改时检查是否选中了所有复选框并切换按钮的另一个布尔标志:
你的数组:
filters = [value:'val1',isChecked:false, value:'val2', isChecked:false]
模板:
<ion-item *ngFor="let field of filters">
<ion-checkbox (click)="check()" [(ngModel)]="field.isChecked">
field.value
</ion-checkbox>
</ion-item>
<button ion-button [disabled]="!allChecked">Button</button>
然后点击事件:
check()
this.allChecked = this.filters.every(x => x.isChecked === true)
演示: https://plnkr.co/edit/sVwz5OjL559x7eUlGK0c?p=preview
【讨论】:
以上是关于检查是不是选中了所有复选框的主要内容,如果未能解决你的问题,请参考以下文章