2017-10-08 14 views
0

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); 
} 
+0

を呼び出すときに、それを使うだろうか? –

+0

申し訳ありません、私の質問を編集しました –

+0

'* .ts'ファイルに' onChange() 'の呼び出し中に操作する変数を作成し、' postCouncilAbsence() 'を呼び出すときにその変数を使用してみませんか? –

答えて

1

に見えますあなたがすでにあなたのIDを送っているようにl onChange()。あなたは変数で、それをキャプチャして、あなたがpostCouncilAbsence()

component.tsあなたは `)(` onattendanceSaveを呼び出している

employeeId: string; 

onChange(attendance:string, isChecked: boolean) { 
    //your code 
    this.employeeId = attendance; 
} 

postCouncilAbsence(absence, userId){ 
    const employeeId = this.employeeId; // don't need this but it's here to show you 
    //your code and you can use this.employeeId 
} 
+0

ご協力ありがとうございました –

+0

あなたは大歓迎です。 –

関連する問題