Guest User

Untitled

a guest
Feb 16th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. <form [formGroup]="myForm">
  2. <p>Language</p>
  3. <div *ngFor="let data of languages let i = index">
  4. <input type="checkbox" (change)="onChange(data.name, $event.target.checked)"> {{data.name}}<br>
  5. </div>
  6.  
  7. <p>Age List</p>
  8. <button (click)="checkAll()">Check all</button>
  9. <button (click)="deselectAll()">Deselect all</button>
  10. <div *ngFor="let data of ages let j = index">
  11. <input type="checkbox" (change)="onAgeChange(data.name, $event.target.checked)"> {{data.name}}<br>
  12. </div>
  13. </form>
  14.  
  15. <pre>Form values: {{myForm.value | json}}</pre>
  16.  
  17. ages = [{ ageID: 100 ,name: "0 -10 years" }, {ageID: 200 ,name: "10 -20 years" }, {ageID: 300 ,name: "30 -40 years" }, { ageID: 400 ,name: "40 -50 years" }]
  18. languages = [{ langID: 1 ,name: "English" }, {langID: 2 ,name: "Tamil" }, {langID: 3 ,name: "Hindi" }, { langID: 4 ,name: "French" }]
  19.  
  20.  
  21. myForm: FormGroup;
  22.  
  23. constructor(private fb: FormBuilder) { }
  24.  
  25. ngOnInit() {
  26. this.myForm = this.fb.group({
  27. userage: this.fb.array([]),
  28. userlanguage: this.fb.array([])
  29. });
  30. }
  31.  
  32. onChange(language: string, isChecked: boolean) {
  33. const languageFormArray = <FormArray>this.myForm.controls.userlanguage;
  34.  
  35. if (isChecked) {
  36. languageFormArray.push(new FormControl(language));
  37. } else {
  38. let index = languageFormArray .controls.findIndex(x => x.value == language)
  39. languageFormArray .removeAt(index);
  40. }
  41. }
  42.  
  43. onAgeChange(age : string, isChecked: boolean) {
  44. const ageFormArray = <FormArray>this.myForm.controls.userage;
  45.  
  46. if (isChecked) {
  47. ageFormArray.push(new FormControl(age));
  48.  
  49. } else {
  50. let index = ageFormArray.controls.findIndex(x => x.value == age)
  51. ageFormArray.removeAt(index);
  52. }
  53. }
  54.  
  55.  
  56. checkAll(){
  57. const languageFormArray = <FormArray>this.myForm.controls.userlanguage;
  58. //console.log(this.myForm.controls['userage'])
  59. this.myForm.controls['userage'].setValue(
  60. this.myForm.controls['userage'].value
  61. .map(value => true)
  62. );
  63. }
Add Comment
Please, Sign In to add comment