为什么下面的代码在 angularjs 中对我不起作用

Why the below piece of code is not working for me in angularjs

以下代码用于使用提供的 json 数据填充下拉 select 选项。但是它没有填充。

这不是在函数 中使用 json 数据填充 dropdrop

  <select ng-model="selectedName" ng-options="x for x in values.names">
</select>
<select ng-model="places" ng-options="x for x in values.places"></select>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.values ={
    names :["Emil", "Tobias", "Linus"]
    places :["hyd","tnd","sec"]
    }

});
</script>


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

</body>
</html>

您的 JSON 应更正为,

{
  "names": [
    "Emil",
    "Tobias",
    "Linus"
  ],
  "places": [
    "hyd",
    "tnd",
    "sec"
  ]
};

演示

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.values= {
  "names": [
    "Emil",
    "Tobias",
    "Linus"
  ],
  "places": [
    "hyd",
    "tnd",
    "sec"
  ]
};

});
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<select ng-model="selectedName" ng-options="x for x in values.names">
</select>
<select ng-model="places" ng-options="x for x in values.places"></select>

</div>

尝试使用此方法填充您的字段:-

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="myCtrl" ng-app="main">
 <select ng-model="selectedName" ng-options="item.names as item.name for item in values">
    <option value="">Select Account</option>
</select>
<select ng-model="selectedname" ng-options="item.place as item.p for item in values"><option value="">Select Account
</option></select>



<script>
var app = angular.module('main', []);
app.controller('myCtrl', function($scope) {
    $scope.values =[
    { names :1, name: "Email"}, 
    { names :2, name: "Tobias"},
    { names :3, name: "Linus"},
    {place :1, p:"hyd"},
     {place :2, p:"tnd"},
     {place :3, p:"sec"} 
   ];
    // $scope.places=[
    //  {place :1, p:"hyd"},
    //  {place :2, p:"tnd"},
    //  {place :3, p:"sec"} 
    //  ];
    $scope.selectedname=$scope.values[0].names;
    $scope.selectedname=$scope.values[0].place;

});
</script>
</div>