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); }; }; var products = ['£10 Gift Voucher','Assam Leaf Tea','Chai Tea Loaf','Chocolate Brownie (pack of four)','Chocolate Orange Cookies (box of four)','Cookies & Cream Rocky Road','Earl Grey Leaf Tea','English Breakfast Leaf Tea','Malt Crunch Cookies (box of four)','Masala Chai Leaf Tea','Milk Chocolate Chip Cookies','Milky White Choc Millionaire Shortbread (box of 4)','Millionaire Shortbread (box of 4)','Mint Chip Cookies (box of four)','Peanut Butter Cookies (box of four)','Rose Congou Leaf Tea','Shortbread Biscuit (box of six)','Smartie Cookies (box of four)','Sparkling Afternoon Tea for Two','Sussex Apple Cake','Sussex Craggy Roosters (box of four)','Sussex Cream Tea for Two','Traditional Afternoon Tea For Two','Triple Chocolate Cookies (box of 4)','Victoria Sponge' ]; $('#our-products .typeahead').typeahead({ hint: true, highlight: true, minLength: 1 }, { name: 'products', limit: 20, source: substringMatcher(products) });