diff options
Diffstat (limited to 'assets/js/home_page.js')
| -rw-r--r-- | assets/js/home_page.js | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/assets/js/home_page.js b/assets/js/home_page.js index 449461d..b04832c 100644 --- a/assets/js/home_page.js +++ b/assets/js/home_page.js @@ -22,5 +22,47 @@ function main(){ console.log("Error: Click not registered"); } }); + + + // for auto-complete + var substringMatcher = function(strs) { + return function findMatches(q, cb) { + var matches, substringRegex; + // 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); + }; + }; + // get array of all courses from controllers + $.ajax({ + url: '/auto-complete-courses', + type: 'GET', + success: function(data){ + // console.log(JSON.parse(data)); + var states = JSON.parse(data); + + $('.typeahead').typeahead({ + hint: true, + highlight: true, + minLength: 1 + }, + { + name: 'courseNames', + source: substringMatcher(states) + }); + } + }); } -$(document).ready(main);
\ No newline at end of file +$(document).ready(main); |
