1
當我選擇的項目不是列表中的第一項時,Windows 7/8上的IE11顯示第一項。如果我重新選擇,問題就會消失。它只在頁面加載後出現一次。我還沒有在舊版本的IE中測試過。當選擇任何項目時,AngularJS顯示IE11列表中的第一項
我也嘗試過老版本的AngularJS的代碼。相同的代碼在Chrome中的行爲與預期相同。
這是IE的問題還是有一個已知的解決方法呢?或者它是代碼的問題?
HTML:
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/2.2.9/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<select data-ng-model="selecteditem" data-ng-options="item for item in items"></select>
</body>
</html>
JS:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.items = ['item1', 'item2', 'item3'];
$scope.selecteditem = "";
});
設置所選項目價值似乎並不爲對象數組工作。
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<select data-ng-model="selecteditem" data-ng-options="item.name for item in items"></select>
</body>
</html>
JS
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.items = [{name:'item1'}, {name:'item2'}, {name:'item3'}];
$scope.selecteditem = {name:'item1'};
});
這裏是展示行爲http://plnkr.co/edit/ojAhTP50iHS030tezhQ3
很抱歉,但它似乎沒有不解決這個問題。這也迫使我默認選擇一個項目。 – James
嗨我已經更新回答 – sylwester
謝謝。我將檢查該解決方案是否適用於數組是對象的第二個代碼示例。 – James