2016-09-24 18 views
0

Das Skript wird nicht nur die Werte zurückgeben, die ich von meinem JSON benötige. Ich benötige den Namen von JSON
Folgendes generiert einen automatischen Vorschlag, wenn ich einen Wert in das Eingabefeld eintippe. Referenz: http://plnkr.co/edit/08vi4ncjLrWfUBjWrZKS?p=previewTypehead-Funktion gibt keine Werte von meinem JSON zurück

Allerdings bedeutet dies keine JSON-Werte in meinem Code zurück:

  <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> 

Antwort

1

Sie benutzen response statt 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

diese wiould immer noch nicht – jack

Verwandte Themen