2017-10-15 18 views
0

フォームの入力フィールド値をプログラムでjqueryで取り込みます。値はフォームに表示されます。私がsubmit.logフォームデータを送信すると、そのデータは値を含んでいません。私は手動で値を変更すると、データが値を含んでいます:角度4 ngSubmitはjquery入力から値を取得しません

$('#itemNum').val('myNewValue'); 

入力そうのように取り込みます:

<input type="text" [(ngModel)]="item.number" name="number" id="itemNumber" class="form-control"> 

I

私は、入力フィールドを移入する機能を実行します入力フィールドの細かい部分にこの新しい値が表示されます。その入力を編集すると、私はsubmitで値を取得できます。しかし、私はそれを残す場合はそのまま、それが唯一のコンポーネント定義されたプロパティを返します。

export class MyComponent implements OnInit { 
    item: Item = { 
    number:0, 
    ... 
    } 
    onSubmit(value){ console.log(value) } 
} 

にはどうすればngForm/ngModel/ngSubmitこれらのjqueryの人口の値を見ることができますか?

ちなみに、私のフォームは次のようになります。

<form novalidate #f="ngForm" (ngSubmit)="onSubmit(f)"> 
<input type="text" [(ngModel)]="item.number" name="number" id="itemNumber" class="form-control"> 
... 
<input type="submit" class="btn btn-primary" value="Confirm"> 
</form> 

答えて

1

角度とjQueryは異なるものです、それは何なので、あなたが使用してはならないのjQueryによる変更、の知っに対する角度のための方法は」ありませんAngular forを使用しています。

あなたは、単に、その後、プログラムで値を変更する必要がある場合:

this.item.number = 10; 

そして、あなたが代わりに反応性フォームを使用していたならば、あなたはこのようにそれを行うだろう:

this.form.get('item.number').setValue(10); 
+0

おかげで、キリスト教、私が来ましたhttps://stackoverflow.com/a/17110709/4493441を見てそれを実現する。私の挑戦は、ngForループを介して構築されたテーブル行からフォームを構築しようとしていました。私はフォームがちょうど努力を複製していただけで、すべてのデータがとにかくあったそのテーブル行から直接私のサブミット機能を実行したことに気付きました。ご協力いただきありがとうございます! – edoras

関連する問題