postCouncilAbsence関数のパラメータにチェックしたすべての従業員を送信する必要があります。私はチェックした各従業員をループするループを作って、パラメータとして送信します。チェック値のループ角4
component.ts:
onattendanceSave(form:NgForm){
this.index = this.attendanceForm.value
console.log(this.index);
Object.keys(this.index).forEach(key => {
this.dataStorageService.postCouncilAbsence(this.index,this.Id)
.subscribe(
response => {
console.log('save'+ this.index);
}),
error =>{
console.log('error');
}
});
}
onChange(attendance:string, isChecked: boolean) {
const attendanceFormArray =
<FormArray>this.attendanceForm.controls.isAttend;
if(isChecked) {
attendanceFormArray.push(new FormControl(attendance));
} else {
let index = attendanceFormArray.controls.findIndex(x => x.value == attendance)
attendanceFormArray.removeAt(index);
}
}
component.html:
<form [formGroup]="attendanceForm" >
<div class="row">
<table class="table table-hover table-condensed text-center table-bordered">
<thead>
<tr>
<th> attendances </th>
<th> check </th>
</tr>
</thead>
<tbody>
<tr *ngFor="let attendance of attendances" >
<td hidden>{{attendance.Employee_ID}}</td>
<td > {{attendance.Emp_Name}} </td>
<td>
<div class="form-check">
<label class="form-check-label">
<input type="checkbox (change)="onChange(attendance.Employee_ID,$event.target.checked)" > {{attendance.isAttend}}
</label>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-success" (click)="onattendanceSave(attendanceForm.value)"> save </button>
</div>
</form>
私はこの関数に各従業員のIDを送信したい:
postCouncilAbsence(absence, userId){
let url = 'http://api.azharcouncil.com/api/CouncilAbsences/PostCouncilAbsence?Council_Id='+13+'&Emp_Id='+absence+'&User_Id='+userId;
let headers = new Headers({ 'Content-Type': 'text/plain' });
let options = new RequestOptions({ headers: headers });
return this.http.post(url, JSON.stringify(absence), options);
}
を呼び出すときに、それを使うだろうか? –
申し訳ありません、私の質問を編集しました –
'* .ts'ファイルに' onChange() 'の呼び出し中に操作する変数を作成し、' postCouncilAbsence() 'を呼び出すときにその変数を使用してみませんか? –