在此codepen中,我试图从范围变量中加载选项元素:
<html>
<head>
<title>AngularJS test</title>
</head>
<body ng-app ng-controller="TestCtrl">
<select ng-init="vendor = vendors[0]" ng-model="vendor" ng-options="vendorName as vendor.name for vendorName in vendors"></select>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
</body>
</html>
function TestCtrl($scope) {
$scope.vendors = [{
name: 'Oracle1',
name: 'Oracle2'
}];
}
但只是正在加载位置[1]的元素。
CodePen:http://codepen.io/anon/pen/OVbXJV?editors=101
为什么只加载1个选项元素?
答案 0 :(得分:2)
您应该拥有一个对象数组,而不仅仅是一个包含多个名称的对象。
$scope.vendors = [
{name: 'Oracle1'},
{name: 'Oracle2'}
];
然后您可以像这样使用ng-options
:
ng-options="vendor.name for vendor in vendors"