【问题标题】:How to collect values of checkboxes in angular2?如何在angular2中收集复选框的值?
【发布时间】:2016-04-25 03:38:03
【问题描述】:
<input type="checkbox" name="something" *ngFor="#checkbox of checkboxes" value="checkbox.value">

我正在使用 angular2。 我有许多名为“某物”的复选框。 我想收集这些复选框的值。

【问题讨论】:

  • ngModel 不适合你?

标签: angular


【解决方案1】:

您可以通过两种方式获取选中复选框的值,这些复选框使用 javascript 和使用 angular 的方法,如下所示:-

<!-- using javascript method -->

<div *ngFor='#checkk of arrayCheck'>
  <input type='checkbox' [id]="'check'+checkk.key11" (change)="updateChecked(checkk.key11)">{{checkk.key11}}
</div>

<!-- Using Angular's Method -->
<div *ngFor='#no of demo2'>
  <input type='checkbox'  (change)="updateChecked2(no,$event)">{{no}}
</div>

updateChecked2(value,event){
    if(event.target.checked){
      this.demoChk.push(value);
    }
    else if (!event.target.checked){
      let indexx = this.demoChk.indexOf(value);
      this.demoChk.splice(indexx,1);
    }
    console.log(this.demoChk)
  }

复选框值的工作示例 Working Plunker

【讨论】:

  • 方法简单有效。但我也有“全选”复选框,当我添加 updateChecked2 方法无法正常工作时,所有都被选中。
  • &lt;input type="checkbox" id="allUsers" name="allusers" value="allusers" (click)="toggleSelect($event)"&gt; 这是 toggleSelect 函数 `this.communityUsers.forEach(function(item){ item.selected = event.target.checked; });`
  • 我想在没有(单击)的情况下获取已检查的项目,因为它无法获取已检查的项目。你能回答我的问题吗stackoverflow.com/questions/45975524/…
猜你喜欢
  • 1970-01-01
  • 2017-11-17
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 2021-06-11
相关资源
最近更新 更多