簡體   English   中英

Angular 4 ngSubmit無法從jQuery填充的輸入中獲取值

[英]Angular 4 ngSubmit not getting values from jquery populated inputs

我用jquery以編程方式填充表單輸入字段值。 這些值在表格中可見。 當我console.log提交表單數據時,該數據不包含值。 當我手動修改值時,數據確實包含值:

我運行一個填充輸入字段的函數:

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

這樣會填充輸入:

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

我可以在輸入字段中看到這個新填充的值。 如果我編輯該輸入,則可以獲取提交值。 但是,如果我將其保留原樣,它只會返回組件定義的屬性:

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> 

Angular和jQuery是不同的東西,Angular無法知道jQuery所做的更改,您不應該使用它,因為這就是您使用Angular的目的。

如果您需要以編程方式更改值,則只需:

this.item.number = 10;

如果您使用的是“反應式表單”,則可以這樣進行:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM