【问题标题】:If I have two check boxes how do I make it so that if one is checked the other is unchecked?如果我有两个复选框,我该怎么做才能使一个被选中另一个未被选中?
【发布时间】:2019-07-23 20:43:57
【问题描述】:

我正在开发一款应用,其中一个页面要求用户选择通过信用卡/信用卡或现金付款。我想让它不能同时选中两个复选框(如果选中一个,则另一个未选中)。

我尝试使用 ionChange 进行事件,这样如果其中一个被选中,其他复选框的布尔值就会变为 false。

HTML

 <ion-item>
    <ion-label>Credit/Debit Card (N/A)</ion-label>   
    <ion-checkbox item-start [(ngModel)]='CC' (ionChange)="checked()"></ion-checkbox>
  </ion-item>
  <br/><br/>

  <ion-item>
    <ion-label>Cash</ion-label>
    <ion-checkbox item-start [(ngModel)]='Cash' (ionChange)="checked()"></ion-checkbox>
  </ion-item>

打字稿

 Cash = false;    
  CC = false;      

  checked(){
    if(this.Cash == true){
      this.CC = false;
    }

    if(this.CC == true){
      this.Cash = false
    }
  }

我预计这会起作用,但仍然可以选中这两个框。

【问题讨论】:

标签: html ionic3


【解决方案1】:

这个问题有一个非常好的答案,有不同的方法here

【讨论】:

  • 我希望这是我们在堆栈溢出时链接到其他答案的方式,这是我第一次分享答案的链接,所以请指导我如何完成,谢谢
  • 感谢您的回答,这正是我想要的。
  • 欢迎您,乐于助人。您可以将此标记为正确答案。
【解决方案2】:

解决这个问题的最好方法是使用 Radio-button 而不是 Checkbox 。但是如果你想 通过复选框执行此操作,而不是代码如下:-

HTML

 <input type="checkbox" name="1" [(ngModel)]="check1"
 (change)="onchange($event)"/>
 {{check1}}


 <input type="checkbox" name="2" [(ngModel)]="check2"
  (change)="onchange1($event)"/>
 {{check2}}

打字稿

export class AppComponent {

  check1: boolean;
  check2: boolean;

  onchange(event: any) {
    if (this.check1 == !event.target.checked) {
      this.check2 = true;
    }
    else {
      this.check2 = false;
    }
  }

  onchange1(event: any) {
    if (this.check2 == !event.target.checked) {
      this.check1 = true;
    }
    else {
      this.check1 = false;
    }
  }
}

希望它适合你。

【讨论】:

  • 这是一个非常具体的答案,仅适用于两个复选框,使用组是更好的方法。查看我在上面分享的链接
猜你喜欢
  • 1970-01-01
  • 2018-03-12
  • 2017-03-31
  • 2023-03-21
  • 2023-03-13
  • 1970-01-01
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多