Skip to content

Instantly share code, notes, and snippets.

@besimhu
Forked from martijnvbeek/jsbin.untitled.js
Created October 17, 2019 20:40
Show Gist options
  • Save besimhu/865655fc9a01385234eeeb26c89f43fc to your computer and use it in GitHub Desktop.
Save besimhu/865655fc9a01385234eeeb26c89f43fc to your computer and use it in GitHub Desktop.
// source https://jsbin.com
let element = document.querySelector('#auto-complete');
let uri = 'https://example.org/search';
let choice = new Choices(element, {
removeItemButton: false,
itemSelectText: '',
shouldSort: false,
});
let timer = null;
choice.passedElement.addEventListener('search', function (event) {
if (event.detail.value.length > 3) {
if (null !== timer) {
clearTimeout(timer);
}
timer = setTimeout(function () {
let request = new Request(uri + "?term=" + event.detail.value, {
credentials: 'same-origin',
});
fetch(request)
.then(function (response) {
if (200 === response.status) {
response.json().then(function (data) {
choice.setChoices(data, 'id', 'label', true);
});
}
})
.catch(function (error) {
console.log(error);
})
;
}, 1000);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment