Skip to content

Instantly share code, notes, and snippets.

@luckycreationsindia
Forked from mrgcohen/Readme.md
Created September 12, 2016 21:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save luckycreationsindia/139be3bf1b6e8d77fcfdb98ea1528a00 to your computer and use it in GitHub Desktop.
Save luckycreationsindia/139be3bf1b6e8d77fcfdb98ea1528a00 to your computer and use it in GitHub Desktop.
Twitter Bootstrap Typeahead autocomplete example

Requirements

  • bootstrap with typeahead
  • jquery

Explanation

This will use bootstrap with typeahead to create an autocomplete search. It shouldn't search until user is done their thought. Aka - fast typers. Right now set to 300ms.

Also caches content from server so you don't make the same call over and over again.

$(document).ready(function(){
// use this hash to cache search results
window.query_cache = {};
$('#search-input').typeahead({
source:function(query,process){
// if in cache use cached value, if don't wanto use cache remove this if statement
if(query_cache[query]){
process(query_cache[query]);
return;
}
if( typeof searching != "undefined") {
clearTimeout(searching);
process([]);
}
searching = setTimeout(function() {
return $.getJSON(
"search.json",
{ q:query },
function(data){
// save result to cache, remove next line if you don't want to use cache
query_cache[query] = data;
// only search if stop typing for 300ms aka fast typers
return process(data);
}
);
}, 300); // 300 ms
}
});
});
Search <input type="text" name="query" id="search-input"/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment