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 = 'list-group-item search-result'; var expires = res.expires; if(is_member) { label = ' Member '; css_classes += ' member'; } else if(expires === '0000-00-00') { add_to_button = ' '; label = ' Registered '; css_classes += ' registered'; } else { add_to_button = ' '; label = ' Expired: '+ expires +' '; css_classes += ' expired'; } if(is_member) { html += '
' + add_to_button + res.firstname + ' ' + res.lastname + label + '
'; } else { html += ''; } } 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 input', function(e){ var label = $(this).parent(); var number = label.attr('data-phone-number'); $('.search-result').removeClass('selected'); label.toggleClass('selected'); _dom.phoneNumber.val(number); }); });