2017-04-13 18 views
0

選択したオプションから取得した値からAPIにデータをPOSTする必要があります。しかし、私はundefined値を得た。Angular2選択肢のPOSTデータ

これは私のモデルは次のとおりです。 -

export class Process { 
    id: number; 
    class_id: string; 
    notes: string; 
    levelling_route: string; 
    code: string; 
    } 

これは私のポスト機能

PostData(process: Process) { 
     this.jobService.PostLevelling(process).subscribe(
      data=> this.event = JSON.stringify(data), 
      error=> alert(error), 
     () => console.log("Successful Post Data") 
     ) 

     } 

そして、私のhtmlです

<select class="form-control" id="select" name="code" size="1"> 
<option *ngFor="let obj of code" [(ngModel)]="code" name="code" [ngValue]={{obj?.id}} ngDefaultControl>{{obj?.name}}</option> 
</select> 

私は何を逃したのですか?

+0

plzはupvoteのようなものであるべきだと思う、このように、このone..iはあなたの問題

<select class="form-control" id="select" name="code" size="1"> <option *ngFor="let obj of code" [(ngModel)]="code" name="code" [ngValue]="obj.id" ngDefaultControl>{{obj?.name}}</option> </select> 

を持ってみたり使用してください。その有用な –

答えて

0

<option *ngFor="let obj of code" [(ngModel)]="code" name="code" 

value="{{obj.id}}" 

    ngDefaultControl>{{obj?.name}}</option> 

</select> 
+0

私は2番目の方法を試してみました..エラーはありません..しかし、 'コンソールログ'私 'POST' ..私は未定義だデータ.. 私のコンソールログ 'はconsole.log(process.code) '' にconsole.log(process.notes) ' – MunirohMansoor

+0

最初の使用は、この制御に関する下記の要素を検査し、クラスのフィールドの名前をチェックするよりも、その値を表示することができます。実際の解決策を得るかもしれません.. –

0

問題は、モデルにバインドする場所です。 [(ngModel)]="code"<select>タグまで移動してください。

the docsをご覧ください。

+0

'エラー '2'をdiffしようとしているエラー – MunirohMansoor

+0

最後のバージョンを使用していますか?角度の?私はあなたが '[値] =" obj.id "を使用する必要があると思う' –

+0

は動作しません..同じエラー.. – MunirohMansoor

0

が、私はそれがこの

<select class="form-control" id="select" name="code" [(ngModel)]="code" size="1"> 
    <option *ngFor="let obj of code" [value]="obj?.id">{{obj?.name}}</option> 
</select> 
関連する問題