IE 9/10下拉式Angular 2中的双向绑定问题

时间:2016-04-05 10:23:09

标签: angular html5 internet-explorer angular-template

我在IE 9/10上面临着奇怪的问题。双向绑定适用于除dropdown之外的所有html元素。 即使下拉列表中存在该值,也不会在下拉列表中选择值。

以下是示例代码。

HTML

<select [(ngModel)]="model.city" id="city">
  <option value="Lahore">Lahore</option>
  <option value="Karachi">Karachi</option>
</select>

TS(Angular 2)

this.model.city="Karachi";

双向绑定对IE中的上述条件不起作用。

我已经包含了IE所需的所有填充程序,但仍然没有被选中。

<script src="node_modules/es6-shim/es6-shim.min.js"></script>
<script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>

2 个答案:

答案 0 :(得分:0)

这是一个已知问题

您可以手动添加来自链接PR的SelectControlValueAccessor,直到Angular默认提供它为止。

另请参阅Selects' events in Angular2Angular2 access a select event change within the component了解其他解决方法。

答案 1 :(得分:0)

<强> HTML

 <select class="classic" [(ngModel)]="city" id="selectoption">
          <option *ngFor="#city of cityValues">{{city}}</option>
  </select>

<强> TS(Angular2)

 public cityValues:Array<any>;
  public city:any

  //Add below line in constructor

  this.cityValues=["Lahore","Karachi"];

 //get the selected value using javascript

 var getSelectedId= document.getElementById('selectoption');
 var getSelectedValue=getSelectedId.options[getSelectedId.selectedIndex].text;
this.city=getSelectedValue;

*注意:键入时,上面的js代码显示错误。它在运行时得到值。