Reputation: 77
The script will not just return the values I require from my JSON. I require name from JSON
The following generates an auto suggest when I type in some value in the input field.
Reference: http://plnkr.co/edit/08vi4ncjLrWfUBjWrZKS?p=preview
However, this does not return any JSON values in my code:
<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>
Upvotes: 0
Views: 24
Reputation: 563
Your are using response
instead of 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>
Upvotes: 1