JSFiddle - React, Tailwind, and code Playground
HTML
<input id="auto" name="auto"></input>
JavaScript
$(function() {
var internationalFlights = [
{"id":1585,"value":"FIZ","label":"Fitzroy Crossing, Australia (FIZ)"},
{"id":2616,"value":"LAN","label":"Lansing, MI, United States (LAN)"},
{"id":5458,"value":"YYU","label":"Kapuskasing, Canada (YYU)"},
{"id":3950,"value":"QPG","label":"Singapore, Singapore (QPG)"},
{"id":3951,"value":"QPG","label":"Singapore, Singapore (QPG) really really long name"},
{"id":114,"value":"AGH","label":"Helsingborg, Sweden (AGH)"},
{"id":4227,"value":"SGB","label":"Singaua, Papua New Guinea (SGB)"},
{"id":4244,"value":"SGZ","label":"Singora, Thailand (SGZ)"},
{"id":2971,"value":"MEP","label":"Mersing, Malaysia (MEP)"}];
var RE_QUERY_ESCAPE = /[\-\[\]{}()*+?.,\\\^$|#\s]/g;
// highlighter function for highlighting elements in auto complete
function highlighter (item) {
var query = $("#auto").val().replace(RE_QUERY_ESCAPE, '\\$&');
return item.replace(new RegExp('(' + query + ')', 'ig'), function($1, match){
return '<span class="highlight">' + match + '</span>';
});
}
$.getScript('http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.20/jquery-ui.min.js', function() {
$.getScript('http://sinonjs.org/releases/sinon-1.3.4.js', function() {
var server = sinon.fakeServer.create();
server.autoRespond = true;
server.autoRespondAfter = 500;
server.respondWith(/\/auto/, JSON.stringify(internationalFlights));
$("#auto").autocomplete({'autoFocus': true,
'source': '/auto',
minLength: 2
});
});
});
});