Angular 11/12 dynamic checkbox list example. In this tutorial, you will learn how to implement dynamic checkbox list in the angular 11/12 app.
In this tutorial will guide you step by step on how to implement dynamic checkbox list in the angular 11 app.
Sometimes You need to choose multiple items from array. So, you will use checkbox. basically this items will dynamically list and user can choose using checkbox. This tutorial will show you very simple example of dynamic checkboxes with reactive forms in angular 11/12 app.
Angular 12/11 Checkbox Checked Event Example
- Step 1 – Create New Angular App
- Step 2 – Add Code on Module.ts File
- Step 3 – Add Code on View File
- Step 4 – Add Code On Component ts File
- Step 5 – Start Angular App
Step 1 – Create New Angular App
First of all, open your terminal and execute the following command on it to install angular app:
ng new my-new-app
Step 2 – Add Code on Module.ts File
In this step, visit src/app directory and open app.module.ts file. Then add the following code into it:
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { FormsModule } from '@angular/forms'; import { ReactiveFormsModule } from '@angular/forms'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, FormsModule, ReactiveFormsModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
Step 3 – Add Code on View File
In this step, create simple reactive form for get selected checkbox values. So, visit src/app/app.component.html and update the following code into it:
<div class="container"> <h1>Angular Dynamic Checkboxes Example - Tutsmake.com</h1> <form [formGroup]="form" (ngSubmit)="submit()"> <label formArrayName="orders" *ngFor="let order of ordersFormArray.controls; let i = index"> <input type="checkbox" [formControlName]="i"> {{webData[i].name}} </label> <br/> <button class="btn btn-success">submit</button> </form> </div>
Step 4 – Add Code On Component ts File
In this step, visit the src/app directory and open app.component.ts. Then add the following code into component.ts file:
import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, FormArray, FormControl, ValidatorFn } from '@angular/forms'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { name = 'Angular'; form: FormGroup; webData = [ { id: 1, name: 'PHP' }, { id: 2, name: 'Laravel' }, { id: 3, name: 'Angular' }, { id: 4, name: 'React' } ]; get ordersFormArray() { return this.form.controls.orders as FormArray; } constructor(private formBuilder: FormBuilder) { this.form = this.formBuilder.group({ orders: new FormArray([]) }); this.addCheckboxesToForm(); } private addCheckboxesToForm() { this.webData.forEach(() => this.ordersFormArray.push(new FormControl(false))); } submit() { const selectedOrderIds = this.form.value.orders .map((checked, i) => checked ? this.webData[i].id : null) .filter(v => v !== null); console.log(selectedOrderIds); } }
Step 5 – Start Angular App
In this step, execute the following commands on terminal to start angular app:
ng serve