所有选项均未由ng-options填充

时间:2015-05-25 16:09:45

标签: angularjs

在此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个选项元素?

1 个答案:

答案 0 :(得分:2)

您应该拥有一个对象数组,而不仅仅是一个包含多个名称的对象。

$scope.vendors = [
    {name: 'Oracle1'},
    {name: 'Oracle2'}
];

然后您可以像这样使用ng-options

ng-options="vendor.name for vendor in vendors"