使用javascript

时间:2017-01-09 16:50:02

标签: angular

我的问题是,当我使用javascript更改输入字段值时,它不会更改ngModel值。

例如:

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

打字稿

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

当我安慰&#39; date&#39;它将显示10:10:2016

执行此Javascript代码后

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

文本字段将更改其值,但ngModel值不会更改

btw我使用jQuery datepicker

2 个答案:

答案 0 :(得分:1)

您需要在元素上触发输入事件,以便Angular知道某些内容发生了变化。看看这里的答案:Change AngularJS input text value using javascript

答案 1 :(得分:1)

您需要在ngAfterViewInit

中执行javascript代码
ngAfterViewInit() {  
  let myNewDate= document.getElementsByName("date")[0].value = "15:10:2016";; 
  this.date = myNewDate;
}

并将值分配给date变量。