2016-09-24 10 views
0

スクリプトはJSONから必要な値を返すだけではありません。 JSONの名前が必要です
入力フィールドに値を入力すると、次のように自動候補が生成されます。 参考:http://plnkr.co/edit/08vi4ncjLrWfUBjWrZKS?p=previewtypeahead関数はJSONから値を返しません

しかし、これは私のコード内の任意のJSON値を返しません:

  <script> 
      var app = angular.module('myApp', ['ui.bootstrap']); 
      app.controller('myController', function($scope, $http){ 
       $scope.getAirport = function(inp){ 
        return $http.get('https://raw.githubusercontent.com/vedvasa/airports/master/airports.json', { 
         params: { 
         name : inp, 
         sensor : false 
         } 

        }).then(function(res){ 
         var names = []; 
         angular.forEach(response.data.records, function(item){ 
          names.push(item.addedNames); 
         }); 
         return names; 
         }); 
       }; 

         $scope.on_item_selected=function($item, $model, $label) 
         { 
          $scope.selected_item = $item; 
         } 
      }); 
      </script> 



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

       <form> 
        <input type="text" class="form-control" id="source" placeholder="Enter Airport Code or City Name" ng-model="asyncSelected" typeahead="name for name in getAirports($viewValue)" typeahead-loading="loadingAirports" typeahead-on-select="on_item_selected($item, $model, $label)"> 
       </form> 

      </div> 

答えて

1

あなたは、これはまだ動作しませwiould代わりres

 <script> 
     var app = angular.module('myApp', ['ui.bootstrap']); 
     app.controller('myController', function($scope, $http){ 
      $scope.getAirport = function(inp){ 
       return $http.get('https://raw.githubusercontent.com/vedvasa/airports/master/airports.json', { 
        params: { 
        name : inp, 
        sensor : false 
        } 

       }).then(function(response){ // <---- I changed this to response 
        var names = []; 
        angular.forEach(response.data.records, function(item){ 
         names.push(item.addedNames); 
        }); 
        return names; 
        }); 
      }; 

        $scope.on_item_selected=function($item, $model, $label) 
        { 
         $scope.selected_item = $item; 
        } 
     }); 
     </script> 



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

      <form> 
       <input type="text" class="form-control" id="source" placeholder="Enter Airport Code or City Name" ng-model="asyncSelected" typeahead="name for name in getAirports($viewValue)" typeahead-loading="loadingAirports" typeahead-on-select="on_item_selected($item, $model, $label)"> 
      </form> 
+0

responseを使用しています – jack

関連する問題