A typeahead component for inputs. Get it on GitHub.
<script>
var input = document.querySelector('input');
var data = [
'Roy Eldridge',
'Roy Hargrove',
'Tim Hagans',
'Tom Harrell',
'Freddie Hubbard',
'Nicholas Payton',
'Miles Davis',
'Dizzy Gillespie',
'Rex Stewart'
];
new Suggestions(input, data);
</script>
Pass an array of objects as data & target a specific property by overriding `getItemValue`. Add pass `minLength` & `limit` options on initialization.
<script>
var input = document.querySelector('input');
var data = [{
name: 'Roy Eldridge',
year: 1911
}, {
name: 'Roy Hargrove',
year: 1969
}, {
name: 'Tim Hagans',
year: 1954
}, {
name: 'Tom Harrell',
year: 1946
}, {
name: 'Freddie Hubbard',
year: 1938
}, {
name: 'Nicholas Payton',
year: 1973
}, {
name: 'Miles Davis',
year: 1926
}, {
name: 'Dizzy Gillespie',
year: 1917
}, {
name: 'Rex Stewart',
year: 1907
}];
var typeahead = new Suggestions(input, data, {
minLength: 3, // Number of characters typed into an input to trigger suggestions.
limit: 3 // Max number of results to display.
});
typeahead.getItemValue = function(item) {
return item.name
};
input.addEventListener('change', function() {
console.log(typeahead.selected); // Current selected item.
});
</script>
<script>
var input = document.querySelector('input');
var data = [
'Roy Eldridge',
'Roy Hargrove',
'Tim Hagans',
'Tom Harrell',
'Freddie Hubbard',
'Nicholas Payton',
'Miles Davis',
'Dizzy Gillespie',
'Rex Stewart'
];
new Suggestions(input, data, {
filter: false
});
</script>