复选框组,仅在选中至少一个复选框时才提交按钮Angular 2

时间:2018-02-19 14:57:31

标签: javascript angular checkbox angular-validation

我有一个包含3个项目的复选框组。我用Angular 5.0.5和Clarity vm创建了它。我希望我的函数检查是否至少检查了一个复选框,然后转到下一页,这是一个向导。到目前为止,向导打开时没有检查是否至少选中了一个复选框。

我的HTML看起来像这样:

<table class="table">
<tbody>
<tr *ngFor="let item of items">
<td>
<input  type="checkbox" name="allowNext" [(ngModel)]="item.chosen">
</td>
<td>
{{item.name}}
</td>
</tr>
</tbody>
</table>
<br>
</form>
<button [disabled] class="btn btn-primary" (click)="go()"> Next </button>

我的Typescript看起来像这样:

items= [
    {name: 'checkbox1', chosen: false},
    {name: 'checkbox2', chosen: false},
    {name: 'checkbox3', chosen: false}
  ];
 go() {
 if(this.items.chosen === true) {
 this.wizard.open();
 ngOnInit () {}
 constructor( public router: Router) {}
你能帮我定义一下这个函数吗?

2 个答案:

答案 0 :(得分:0)

使用JQuery,您可以简单地执行此操作:

if ($('#frmTest input:checked').length > 0 ) {

  //your code

}

答案 1 :(得分:0)

this.items.some(i => i.chosen) 

将检查是否至少选择了一个项目