确定是不是在 Ionic 2 中选中了复选框

Posted

技术标签:

【中文标题】确定是不是在 Ionic 2 中选中了复选框【英文标题】:Determining if checkbox is checked in Ionic 2确定是否在 Ionic 2 中选中了复选框 【发布时间】:2017-03-12 17:53:57 【问题描述】:

如何确定是否在 Ionic 2 中选中了 ion-checkbox。

   <ion-item *ngFor="let a of q.Answers">
      <ion-label>a.AnswerDescription</ion-label>
      <ion-checkbox (click)="addValue($event)"></ion-checkbox>
   </ion-item>

以下返回undefined

 addValue(e): void 
     var isChecked = e.currentTarget.checked;
     console.log(isChecked);//undefined

 

【问题讨论】:

您应该检查a.checked 是否为true,因为它是ytou 绑定到输入的模型。 使用普通的 html 复选框就可以了。但我不确定ion control Answers 数组的每个元素都有一个名为 checked 的属性吗? 不,我试过了。我编辑了帖子并删除了 ngModel。 向每个Answers 元素添加一个布尔属性(可能类似于selected)是一个有效的选项吗?我想这将是知道答案是否被选中的最简单方法(不仅在点击事件中)......如果这是一个有效的选项,我可以写一个答案来解释如何做到这一点。 【参考方案1】:

如果您真的想将 $event 作为参数传递,请使用 e.checked 属性,如下所示。

HTML

<ion-checkbox color="dark" checked="true" (ionChange)="datachanged($event)" ></ion-checkbox>

类型脚本

datachanged(e:any)
    console.log(e);
    console.log(e.checked);

【讨论】:

在 Ionic 3 中,当我将“(ionChange)”替换为“(click)”时,它才起作用【参考方案2】:

只需使用 NgModel

<ion-checkbox checked="false" [(ngModel)]="yourVariable.checked"></ion-checkbox>

【讨论】:

我更喜欢这种方法。它更稳定,更新时,一些事件监听器可能会改变。模型更稳定

以上是关于确定是不是在 Ionic 2 中选中了复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何验证是不是在laravel中选中了复选框?