Last active
August 29, 2015 14:21
-
-
Save borntorun/3b95d9dbb16f2c3af859 to your computer and use it in GitHub Desktop.
Example file for http://borntorun.github.io/angular-typeaheadjs/ basics use case
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="demo" ng-controller="BasicsCtrl as vm"> | |
<div class="selection">Selection: <span>{{vm.itemonSelected}}</span></div> | |
<angular-typeaheadjs angty-ttoptions="{{vm.ttoptions}}" | |
angty-ttdatasets="vm.datasets" | |
angty-options="{{vm.options}}" | |
angty-onselect> | |
<input class="typeahead" type="text" placeholder="Search for US States"/> | |
</angular-typeaheadjs> | |
</div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
angular.module('appdemo', ['angularTypeaheadjs']) | |
.controller('BasicsCtrl', [ '$scope', BasicsCtrl ]); | |
function BasicsCtrl($scope) { | |
var vm = this; | |
vm.itemonSelected = ''; | |
vm.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', | |
'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', | |
'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', | |
'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', | |
'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', | |
'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', | |
'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', | |
'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', | |
'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming' | |
]; | |
var substringMatcher = function(strs) { | |
return function findMatches(q, cb) { | |
var matches, substrRegex; | |
// an array that will be populated with substring matches | |
matches = []; | |
// regex used to determine if a string contains the substring `q` | |
substrRegex = new RegExp(q, 'i'); | |
// iterate through the pool of strings and for any string that | |
// contains the substring `q`, add it to the `matches` array | |
$.each(strs, function(i, str) { | |
if (substrRegex.test(str)) { | |
matches.push(str); | |
} | |
}); | |
cb(matches); | |
}; | |
}; | |
vm.ttoptions = { | |
minLength: 1 | |
}; | |
vm.options = { | |
selectOnAutocomplete: true | |
}; | |
vm.datasets = [{ | |
name: 'states', | |
source: substringMatcher(vm.states) | |
}]; | |
$scope.$on('typeahead:select', function (ev, item) { | |
$scope.$apply(function () { | |
vm.itemonSelected = item[1]; | |
}); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment