Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度4选择不在模型更改时更新_Javascript_Html_Angular_Select_Ngmodel - Fatal编程技术网

Javascript 角度4选择不在模型更改时更新

Javascript 角度4选择不在模型更改时更新,javascript,html,angular,select,ngmodel,Javascript,Html,Angular,Select,Ngmodel,我试图在选择新值后调用eventChange函数并将所选值恢复为默认值。但是会发生什么:ngModel值会更新,但所选值保持不变。我应该如何使选定值和ngModel值相同 HTML文件 <select [(ngModel)]="selectedValue" (change)="eventChange()" > <option [disabled]="true" [

我试图在选择新值后调用eventChange函数并将所选值恢复为默认值。但是会发生什么:ngModel值会更新,但所选值保持不变。我应该如何使选定值和ngModel值相同

HTML文件

<select [(ngModel)]="selectedValue"
       (change)="eventChange()"

>
      <option [disabled]="true"
              [ngValue]="-1">
        Choose an option
      </option>
      <option *ngFor="let item of myList index as i"
              [ngValue]="i"
      >
        {{item.name}}
      </option>
</select>
评论: 在运行网页刷新时,正确设置了select的第一个值,如果在组件文件中,我将变量selectedValue设置为其他索引,则选择了其他值,但它仅在运行时有效,而在函数中无效

我也发现了这个问题 但这里是AngularJS使用ng选项的答案,而不是ng重复,在angular 4中,我只找到了*ngFor

更新:
澄清以防万一:正在调用函数,但我希望通过javascript更改所选选项。我尝试通过更改ngModel值来实现这一点,但即使ngModel值已更改,所选选项也不会更改。

使用ngModelChange,您不需要[ngValue]


不知怎么的,还是不起作用。函数始终在change和ngModelChange事件中调用。但是ng model=selectedValue是一个索引,而selectedValue是具有其他索引的项。您想做什么?我想通过javascript更改selected选项。我尝试通过更改ngModel值来执行此操作,但所选选项不会更改。请删除ng值并仅使用ngModel
selectedValue = -1; //works //Option in select is changed
eventChange(){
    this.selectedValue= -1; //don't work 
    //Function is called, 
    //Value changes
    //But selected Option in Select doesn't change
}
<select [(ngModel)]="selectedValue"
       (ngModelChange)="eventChange()"