function format_results(results) { var html = '
'; for(var i=0; i< results.length; i++) { var res = results[i]; var label = ''; var is_member = res.is_member && res.is_member === "1"; var add_to_button = ''; var css_classes = ''; var expires = res.expires; if(is_member) { label = ' Member '; css_classes += 'member'; } else if(expires === '0000-00-00') { add_to_button = ' '; label = ' Registered '; } else { add_to_button = ' '; label = ' Expired: '+ expires +' '; } var q = $('#id_query').val(); html += '' + add_to_button + res.firstname + ' ' + res.lastname + label + ''; } return html + '
'; } $(document).ready(function(){ var _dom = { results: $('.results-wrap'), query: $('#id_query'), phoneNumber: $('#id_phone_number'), cardNumber: $('#id_card_number') }; var urls = { insideUserApi: '/inside/user/' }; /* Saerch as you type */ _dom.query.on('keyup', function() { var val = _dom.query.val(); $.getJSON(urls.insideUserApi, {q: val}, function(data) { //console.log(data); if(data.results && data.results.length > 0) { _dom.results.html(format_results(data.results)); } else { _dom.results.html('No existing user with that phone number'); } }); }); /* Click search result */ _dom.results.on('click', '.search-result', function(e){ e.preventDefault(); var number = $(this).attr('data-phone-number'); _dom.phoneNumber.val(number); }); });