У меня есть массив флажков. для каждого флажка есть опция добавления нескольких полей, например, под каждым флажком я должен добавить поля 1 и 2.
когда флажок установлен, он должен быть помещен в массив форм, а также в поля. к этому массиву. Как обрабатывать несколько форм массива в реактивной форме?
Мой HTML ниже.
<form [formGroup]="progbatchForm" (ngSubmit)="saveProgramBatch()" enctype="multipart/form-data">
<div class="row">
<div class="col-sm-8 m-b-3">
<div class="form-group row" >
<div class="col-sm-7" >
<div *ngFor="let programsinterm of programsinterms">
<input
name="programid"
type="checkbox" id="{{programsinterm.id}}"
(change)="ProgramsClick($event.target.getAttribute('id'))"
>
<label class="border-checkbox-label" for="{{programsinterm.id}}">{{programsinterm.programname}}</label>
<div formArrayName="programbatchdetails">
<div >
<table class="table">
<tr>
<th>Programbatch name</th>
<th>Programbatch type</th>
<td></td>
</tr>
<tr >
<td>
<input type="text"
class="form-control"
name="programbatchname"
formControlName="programbatchname"
>
</td>
<td>
<select name="programbatchtype" class="form-control" formControlName="programbatchtype">
<option value="0">--select--</option>
<option *ngFor="let progbatchtype of programbacthtypes" value="{{progbatchtype.id}}" >{{progbatchtype.programbatchtype}}</option>
</select>
</td>
<td></td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<button *ngIf="!editstatus" class="btn btn-primary">Save</button>
</div>
</div>
</form>
Мне нужна такая структура массива.
{
"programid":"5aeb057175d33208c5333852"
"programbatchdetails":[
{
programbatchname:"TEST name",
programbatchtype:"Regular",
programbatchid:"5aeb057175d33208c5333852"
},
{
programbatchname:"TEST name",
programbatchtype:"Regular",
programbatchid:"5aeb057175d33208c5333852"
}
]
},
{
"programid":"5aeb057175d33208c5333852"
"programbatchdetails":[
{
programbatchname:"TEST name",
programbatchtype:"Regular",
programbatchid:"53sfafafasfasfasfasf"
},
{
programbatchname:"TEST name",
programbatchtype:"Regular",
programbatchid:"53sfafafasfasfasfasf"
}
]
}