【发布时间】:2015-07-24 12:57:30
【问题描述】:
我在 IE11 中遇到了非常奇怪的问题。我正在使用 get 方法获取一些数据,该方法在 Chrome 和 Mozilla 中运行良好,但在 IE11 中却导致问题。
这是我的 HTML 标记:
<select multiple class="form-control" size="9" ng-model="form.selectedSrcObj.srcID" ng-change="getEnt()">
<option value="{{f.id}}" ng-click="getEnt(f)" ng-repeat="f in fields" ng-selected="f.dflt_ind">
{{f.nm}}
</option>
</select>
在 IE11 中呈现如下:
{{f.nm}}
{{f.nm}}
{{f.nm}}
{{f.nm}}
{{f.nm}}
{{f.nm}}
{{f.nm}}
在 Chrome 和 Mozilla 中(如预期的那样):
File 1
File 2
File 3
File 4
File 5
File 6
File 7
最奇怪的是我在 IE11 控制台中看不到任何错误,当我检查 DOM 时,我可以看到如上所示的正确数据。我还可以在 IE11 的响应正文中看到整个 JSON 响应。
最初我认为这可能是 IE11 中的缓存问题(通过 Angularjs' $http.get only executed once in IE11 读取),我在标题中包含以下 META:
<meta http-equiv="cache-control" content="no-cache" />
但这也行不通。然后我尝试包含以下 polyfill,但也不起作用:
<!--[if gte IE 8]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui-ieshiv.min.js"></script>
<script src="https://github.com/remy/polyfills/blob/master/EventSource.js"></script>
<![endif]-->
请告诉我可能是什么原因以及如何解决它。我不太擅长 AngularJS。提前致谢。
【问题讨论】:
-
你尝试过使用 ng-options 吗? docs.angularjs.org/api/ng/directive/ngOptions。您使用的是哪个 Angular 版本?
-
我使用的是 1.3.2,还没有尝试过 ng-options。
-
并在
<option>上删除ng-click.... 该标签不支持事件
标签: json angularjs internet-explorer-11