AngularJS选择选项不在IE 10中显示

时间:2016-05-11 07:22:57

标签: angularjs internet-explorer html-select

我们正试图解决IE 10中一个令人抓狂的错误,其中所选选项的选项标签不会为Angular <select>呈现。相反,选项的标签显示为{{option}},表示无法解析该指令。更糟糕的是,IE 11或更高版本或Chrome中不会发生此问题。以下是相关代码:

HTML:

<select class="settings-select-box" name="LOCATION_UPDATE_FREQUENCY"
        id="LOCATION_UPDATE_FREQUENCY"
        data-ng-model="configurations.LOCATION_UPDATE_FREQUENCY">
    <option data-ng-repeat="option in frequency" value="{{option}}">{{option}}</option>
</select>

在控制器JS代码中,我们将frequency定义为静态数组,因为选择永远不会改变:

$scope.frequency = ["Never","Daily","Weekly","Monthly"];

用于模型的范围变量是configurations.LOCATION_UPDATE_FREQUENCY,并使用数据库中的值定义。坚持使用数据库可以在IE 10和其他浏览器上运行,这意味着从UI到服务器的绑定似乎没有问题。

这个错误真正奇怪的是,在IE 10中仍然选择了正确的选项,但标签已损坏或未正确呈现。

以下是进一步说明问题的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:2)

根据官方文档,你应该使用&#34; ng-value&#34; https://docs.angularjs.org/api/ng/directive/ngValue

<select class="settings-select-box" name="LOCATION_UPDATE_FREQUENCY"
    id="LOCATION_UPDATE_FREQUENCY"
    data-ng-model="configurations.LOCATION_UPDATE_FREQUENCY">
<option data-ng-repeat="option in frequency" ng-value="{{option}}">{{option}}    </option>
</select>