2016-10-11 125 views
2

我在下拉菜单中列出状态。在谷歌铬它工作正常。在Interner浏览器中,组正在重复。我得到总共4组,因为我看到了铬组中的2组。我怎样才能在IE中获得正确的输出?提前致谢。按ng选项在Internet Explorer中给出重复数据

以下是验证码。

<!DOCTYPE html> 
<html> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<body> 

<div ng-app="myApp" ng-controller="myCtrl"> 

<select ng-model="selectedName" ng-options="state.name + ' - ' + state.country group by state.country for state in states | filter: {country:model.country}:true | orderBy: ['-country', 'name']"> 
</select> 

</div> 

<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.states = [ 
      {'name': 'Alabama', 'abbrev': 'AL', 'country': 'US'}, 
      {'name': 'Alaska', 'abbrev': 'AK', 'country': 'US'}, 
      {'name': 'Arizona', 'abbrev': 'AZ', 'country': 'US'}, 
      {'name': 'Arkansas', 'abbrev': 'AR', 'country': 'US'}, 
      {'name': 'California', 'abbrev': 'CA', 'country': 'US'}, 
      {'name': 'Colorado', 'abbrev': 'CO', 'country': 'US'}, 
      {'name': 'Connecticut', 'abbrev': 'CT', 'country': 'US'}, 
      {'name': 'Delaware', 'abbrev': 'DE', 'country': 'US'}, 
      {'name': 'District of Columbia', 'abbrev': 'DC', 'country': 'US'}, 
      {'name': 'Florida', 'abbrev': 'FL', 'country': 'US'}, 
      {'name': 'Georgia', 'abbrev': 'GA', 'country': 'US'}, 
      {'name': 'Hawaii', 'abbrev': 'HI', 'country': 'US'}, 
      {'name': 'Idaho', 'abbrev': 'ID', 'country': 'US'}, 
      {'name': 'Illinois', 'abbrev': 'IL', 'country': 'US'}, 
      {'name': 'Indiana', 'abbrev': 'IN', 'country': 'US'}, 
      {'name': 'Iowa', 'abbrev': 'IA', 'country': 'US'}, 
      {'name': 'Kansas', 'abbrev': 'KS', 'country': 'US'}, 
      {'name': 'Kentucky', 'abbrev': 'KY', 'country': 'US'}, 
      {'name': 'Louisiana', 'abbrev': 'LA', 'country': 'US'}, 
      {'name': 'Maine', 'abbrev': 'ME', 'country': 'US'}, 
      {'name': 'Maryland', 'abbrev': 'MD', 'country': 'US'}, 
      {'name': 'Massachusetts', 'abbrev': 'MA', 'country': 'US'}, 
      {'name': 'Michigan', 'abbrev': 'MI', 'country': 'US'}, 
      {'name': 'Minnesota', 'abbrev': 'MN', 'country': 'US'}, 
      {'name': 'Mississippi', 'abbrev': 'MS', 'country': 'US'}, 
      {'name': 'Missouri', 'abbrev': 'MO', 'country': 'US'}, 
      {'name': 'Montana', 'abbrev': 'MT', 'country': 'US'}, 
      {'name': 'Nebraska', 'abbrev': 'NE', 'country': 'US'}, 
      {'name': 'Nevada', 'abbrev': 'NV', 'country': 'US'}, 
      {'name': 'New Hampshire', 'abbrev': 'NH', 'country': 'US'}, 
      {'name': 'New Jersey', 'abbrev': 'NJ', 'country': 'US'}, 
      {'name': 'New Mexico', 'abbrev': 'NM', 'country': 'US'}, 
      {'name': 'New York', 'abbrev': 'NY', 'country': 'US'}, 
      {'name': 'North Carolina', 'abbrev': 'NC', 'country': 'US'}, 
      {'name': 'North Dakota', 'abbrev': 'ND', 'country': 'US'}, 
      {'name': 'Ohio', 'abbrev': 'OH', 'country': 'US'}, 
      {'name': 'Oklahoma', 'abbrev': 'OK', 'country': 'US'}, 
      {'name': 'Oregon', 'abbrev': 'OR', 'country': 'US'}, 
      {'name': 'Pennsylvania', 'abbrev': 'PA', 'country': 'US'}, 
      {'name': 'Puerto Rico', 'abbrev': 'PR', 'country': 'US'}, 
      {'name': 'Rhode Island', 'abbrev': 'RI', 'country': 'US'}, 
      {'name': 'South Carolina', 'abbrev': 'SC', 'country': 'US'}, 
      {'name': 'South Dakota', 'abbrev': 'SD', 'country': 'US'}, 
      {'name': 'Tennessee', 'abbrev': 'TN', 'country': 'US'}, 
      {'name': 'Texas', 'abbrev': 'TX', 'country': 'US'}, 
      {'name': 'Utah', 'abbrev': 'UT', 'country': 'US'}, 
      {'name': 'Vermont', 'abbrev': 'VT', 'country': 'US'}, 
      {'name': 'Virginia', 'abbrev': 'VA', 'country': 'US'}, 
      {'name': 'Washington', 'abbrev': 'WA', 'country': 'US'}, 
      {'name': 'West Virginia', 'abbrev': 'WV', 'country': 'US'}, 
      {'name': 'Wisconsin', 'abbrev': 'WI', 'country': 'US'}, 
      {'name': 'Wyoming', 'abbrev': 'WY', 'country': 'US'}, 
      {'name': 'Alberta', 'abbrev': 'AB', 'country': 'CA'}, 
      {'name': 'British Columbia', 'abbrev': 'BC', 'country': 'CA'}, 
      {'name': 'Manitoba', 'abbrev': 'MB', 'country': 'CA'}, 
      {'name': 'New Brunswick', 'abbrev': 'NB', 'country': 'CA'}, 
      {'name': 'Newfoundland and Labrador', 'abbrev': 'NL', 'country': 'CA'}, 
      {'name': 'Nova Scotia', 'abbrev': 'NS', 'country': 'CA'}, 
      {'name': 'Northwest Territories', 'abbrev': 'NT', 'country': 'CA'}, 
      {'name': 'Nunavut', 'abbrev': 'NU', 'country': 'CA'}, 
      {'name': 'Ontario', 'abbrev': 'ON', 'country': 'CA'}, 
      {'name': 'Prince Edward Island', 'abbrev': 'PE', 'country': 'CA'}, 
      {'name': 'Quebec', 'abbrev': 'QC', 'country': 'CA'}, 
      {'name': 'Saskatchewan', 'abbrev': 'SK', 'country': 'CA'}, 
      {'name': 'Yukon', 'abbrev': 'YT', 'country': 'CA'} 
     ]; 
}); 
</script> 

<p>This example shows how to fill a dropdown list using the ng-options directive.</p> 

</body> 
</html> 
+0

我有这表明了同样的问题只能在IE中一个非常类似的用例。密切关注... – mccainz

回答

0

这个问题是Angular内部的问题,已在Angular 1.5.0中修复。 将您的Angular版本更新到1.5.0或更高版本,它应该可以正常工作。

https://github.com/angular/angular.js/issues/13487

<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script> 
 
<body> 
 

 
<div ng-app="myApp" ng-controller="myCtrl"> 
 

 
<select ng-model="selectedName" ng-options="state.name + ' - ' + state.country group by state.country for state in states | filter: {country:model.country}:true | orderBy: ['-country', 'name']"> 
 
</select> 
 

 
</div> 
 

 
<script> 
 
var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope) { 
 
    $scope.states = [ 
 
      {'name': 'Alabama', 'abbrev': 'AL', 'country': 'US'}, 
 
      {'name': 'Alaska', 'abbrev': 'AK', 'country': 'US'}, 
 
      {'name': 'Arizona', 'abbrev': 'AZ', 'country': 'US'}, 
 
      {'name': 'Arkansas', 'abbrev': 'AR', 'country': 'US'}, 
 
      {'name': 'California', 'abbrev': 'CA', 'country': 'US'}, 
 
      {'name': 'Colorado', 'abbrev': 'CO', 'country': 'US'}, 
 
      {'name': 'Connecticut', 'abbrev': 'CT', 'country': 'US'}, 
 
      {'name': 'Delaware', 'abbrev': 'DE', 'country': 'US'}, 
 
      {'name': 'District of Columbia', 'abbrev': 'DC', 'country': 'US'}, 
 
      {'name': 'Florida', 'abbrev': 'FL', 'country': 'US'}, 
 
      {'name': 'Georgia', 'abbrev': 'GA', 'country': 'US'}, 
 
      {'name': 'Hawaii', 'abbrev': 'HI', 'country': 'US'}, 
 
      {'name': 'Idaho', 'abbrev': 'ID', 'country': 'US'}, 
 
      {'name': 'Illinois', 'abbrev': 'IL', 'country': 'US'}, 
 
      {'name': 'Indiana', 'abbrev': 'IN', 'country': 'US'}, 
 
      {'name': 'Iowa', 'abbrev': 'IA', 'country': 'US'}, 
 
      {'name': 'Kansas', 'abbrev': 'KS', 'country': 'US'}, 
 
      {'name': 'Kentucky', 'abbrev': 'KY', 'country': 'US'}, 
 
      {'name': 'Louisiana', 'abbrev': 'LA', 'country': 'US'}, 
 
      {'name': 'Maine', 'abbrev': 'ME', 'country': 'US'}, 
 
      {'name': 'Maryland', 'abbrev': 'MD', 'country': 'US'}, 
 
      {'name': 'Massachusetts', 'abbrev': 'MA', 'country': 'US'}, 
 
      {'name': 'Michigan', 'abbrev': 'MI', 'country': 'US'}, 
 
      {'name': 'Minnesota', 'abbrev': 'MN', 'country': 'US'}, 
 
      {'name': 'Mississippi', 'abbrev': 'MS', 'country': 'US'}, 
 
      {'name': 'Missouri', 'abbrev': 'MO', 'country': 'US'}, 
 
      {'name': 'Montana', 'abbrev': 'MT', 'country': 'US'}, 
 
      {'name': 'Nebraska', 'abbrev': 'NE', 'country': 'US'}, 
 
      {'name': 'Nevada', 'abbrev': 'NV', 'country': 'US'}, 
 
      {'name': 'New Hampshire', 'abbrev': 'NH', 'country': 'US'}, 
 
      {'name': 'New Jersey', 'abbrev': 'NJ', 'country': 'US'}, 
 
      {'name': 'New Mexico', 'abbrev': 'NM', 'country': 'US'}, 
 
      {'name': 'New York', 'abbrev': 'NY', 'country': 'US'}, 
 
      {'name': 'North Carolina', 'abbrev': 'NC', 'country': 'US'}, 
 
      {'name': 'North Dakota', 'abbrev': 'ND', 'country': 'US'}, 
 
      {'name': 'Ohio', 'abbrev': 'OH', 'country': 'US'}, 
 
      {'name': 'Oklahoma', 'abbrev': 'OK', 'country': 'US'}, 
 
      {'name': 'Oregon', 'abbrev': 'OR', 'country': 'US'}, 
 
      {'name': 'Pennsylvania', 'abbrev': 'PA', 'country': 'US'}, 
 
      {'name': 'Puerto Rico', 'abbrev': 'PR', 'country': 'US'}, 
 
      {'name': 'Rhode Island', 'abbrev': 'RI', 'country': 'US'}, 
 
      {'name': 'South Carolina', 'abbrev': 'SC', 'country': 'US'}, 
 
      {'name': 'South Dakota', 'abbrev': 'SD', 'country': 'US'}, 
 
      {'name': 'Tennessee', 'abbrev': 'TN', 'country': 'US'}, 
 
      {'name': 'Texas', 'abbrev': 'TX', 'country': 'US'}, 
 
      {'name': 'Utah', 'abbrev': 'UT', 'country': 'US'}, 
 
      {'name': 'Vermont', 'abbrev': 'VT', 'country': 'US'}, 
 
      {'name': 'Virginia', 'abbrev': 'VA', 'country': 'US'}, 
 
      {'name': 'Washington', 'abbrev': 'WA', 'country': 'US'}, 
 
      {'name': 'West Virginia', 'abbrev': 'WV', 'country': 'US'}, 
 
      {'name': 'Wisconsin', 'abbrev': 'WI', 'country': 'US'}, 
 
      {'name': 'Wyoming', 'abbrev': 'WY', 'country': 'US'}, 
 
      {'name': 'Alberta', 'abbrev': 'AB', 'country': 'CA'}, 
 
      {'name': 'British Columbia', 'abbrev': 'BC', 'country': 'CA'}, 
 
      {'name': 'Manitoba', 'abbrev': 'MB', 'country': 'CA'}, 
 
      {'name': 'New Brunswick', 'abbrev': 'NB', 'country': 'CA'}, 
 
      {'name': 'Newfoundland and Labrador', 'abbrev': 'NL', 'country': 'CA'}, 
 
      {'name': 'Nova Scotia', 'abbrev': 'NS', 'country': 'CA'}, 
 
      {'name': 'Northwest Territories', 'abbrev': 'NT', 'country': 'CA'}, 
 
      {'name': 'Nunavut', 'abbrev': 'NU', 'country': 'CA'}, 
 
      {'name': 'Ontario', 'abbrev': 'ON', 'country': 'CA'}, 
 
      {'name': 'Prince Edward Island', 'abbrev': 'PE', 'country': 'CA'}, 
 
      {'name': 'Quebec', 'abbrev': 'QC', 'country': 'CA'}, 
 
      {'name': 'Saskatchewan', 'abbrev': 'SK', 'country': 'CA'}, 
 
      {'name': 'Yukon', 'abbrev': 'YT', 'country': 'CA'} 
 
     ]; 
 
}); 
 
</script> 
 

 

 
</body> 
 
</html>

+1

谢谢mccainz! – chom