This is a typical customized request, which in one page, they want to enter same ticket number to search, and same time can search 3 fields, and do 3 different functions. So like below code showed, we reused same search function in autocomplete source.
$(document).ready(function(){ var cache = {}; $( "#lookup_ticketnum_1" ).autocomplete({ source: function(request, response){ search_msi(request, response) }, minLength: 3, }); $( "#lookup_ticketnum_2" ).autocomplete({ source: function(request, response){ search_msi(request, response) }, minLength: 3, }); $( "#lookup_ticketnum_3" ).autocomplete({ source: function(request, response){ search_msi(request, response) }, minLength: 3, }); function search_msi(request, response){ var term = request.term; if ( term in cache ) { response( cache[ term ] ); return; } $.getJSON( "/matrix/ajax_search_msi.php", request, function( data, status, xhr ) { cache[ term ] = data; response( data ); }); } });