2017-01-09 36 views
2

我的問題是當我改變輸入字段值使用JavaScript,它不會改變ngModel值。任何方式來改變輸入字段使用javascript ngModal值

例如:

//html 
<input type="text" name="date" [(ngModel)]="date"> 

打字稿

var date : any; 
    constructor(
      // some code 
     ) { 
      this.date="10:10:2016"; 
     } 

當我的控制檯 '日期',它會顯示10:10 2016

執行這段JavaScript代碼

document.getElementsByName("date")[0].value = "15:10:2016"; 

文本字段會改變其價值,但ngModel值不會改變

順便說一下我使用jQuery日期選擇器

+0

是橫幅還是日期? – Searching

+0

date sorry我的錯誤 – Nandhu

回答

1

你需要使角知道,事情發生了轉變觸發元素上的輸入事件。看看這裏的答案:Change AngularJS input text value using javascript

+0

試過$('[name =「date」]')。 $( '[名稱= 「日期」]')KEYUP(); $( '[名稱= 「日期」]')。按鍵();; $( '[名稱= 「日期」]')模糊();但沒有任何工作 – Nandhu

+0

嘗試$('[name =「date」]')。trigger(「input」) –

+0

sry我也試過,但沒有工作 – Nandhu

1

你需要ngAfterViewInit

ngAfterViewInit() { 
    let myNewDate= document.getElementsByName("date")[0].value = "15:10:2016";; 
    this.date = myNewDate; 
} 

執行JavaScript代碼和分配價值,你的date變量。

+0

謝謝,這段代碼工作正常。但我使用外部js(jquery)將值分配給輸入字段,我想我找到了一個解決方案。 – Nandhu

+0

什麼解決方案爲你工作? :) – candidJ

+0

在ngView中使用jquery輸入函數並將輸入字段值的值賦給ngModel現在我無法訪問我的電腦來測試此代碼。測試後會發佈解決方案:),你的回答幫助我解決了我的問題..謝謝 – Nandhu

相關問題