Simple Country Drop Down in AJ
by manoj
HTML
<div ng-app="myApp" ng-controller="myCtrl">
<select ng-model="selectedState" ng-options="s.name for s in states"></select>
</div>
JavaScript
var myApp = angular.module("myApp", []);
var myCtrl = myApp.controller("myCtrl", ["$scope", "State", function($scope, State) {
$scope.states = [];
State.getStates().then(function(states) {
$scope.states = states;
});
State.getMyState().then(function(state) {
for(var s=0;s<$scope.states.length;s++) {
if(state == $scope.states[s].abbreviation) {
$scope.selectedState = $scope.states[s];
break;
}
}
});
}]);
myApp.factory("State", ["$q", "$timeout", function($q, $timeout) {
return {
getMyState : function() {
var deferred = $q.defer();
$timeout(function() { // WE USE A TIMER TO DO THE SIMULATION
var s = "NY";
deferred.resolve(s);
}, 2000);
return deferred.promise;
},
getStates: function() {
var deferred = $q.defer();
$timeout(function() { // WE USE A TIMER TO DO THE SIMULATION
var data = [{"name":"Alabama","abbreviation":"AL"},{"name":"Alaska","abbreviation":"AK"},{"name":"American Samoa","abbreviation":"AS"},{"name":"Arizona","abbreviation":"AZ"},{"name":"Arkansas","abbreviation":"AR"},{"name":"California","abbreviation":"CA"},{"name":"Colorado","abbreviation":"CO"},{"name":"Connecticut","abbreviation":"CT"},{"name":"Delaware","abbreviation":"DE"},{"name":"District Of Columbia","abbreviation":"DC"},{"name":"Federated States Of Micronesia","abbreviation":"FM"},{"name":"Florida","abbreviation":"FL"},{"name":"Georgia","abbreviation":"GA"},{"name":"Guam","abbreviation":"GU"},{"name":"Hawaii","abbreviation":"HI"},{"name":"Idaho","abbreviation":"ID"},{"name":"Illinois","abbreviation":"IL"},{"name":"Indiana","abbreviation":"IN"},{"name":"Iowa","abbreviation":"IA"},{"name":"Kansas","abbreviation":"KS"},{"name":"Kentucky","abbreviation":"KY"},{"name":"Louisiana","abbreviation":"LA"},{"name":"Maine","abbreviation":"ME"},{"name":"Marshall...