【问题标题】: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对象吗?

标签: angular ionic2


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多