(function( $ ) { 'use strict'; /** * SETUP RESPONSE WRAPPER WIDTH: DEFAULT VALUE IS INPUT BOX * * YOU CAN SETUP YOUR WIDTH REPLACING THE DECLARATION BELOW WITH THE FOLLOWING: * var wrapperWidth = '500'; //enter the size you wish in pixels; */ var wrapperWidth = $('#aas-search-term').width(); /** * DON NOT TOUCH BELOW THIS POINT */ $(document.body).trigger('post-load'); $('#aas-search-term').prop('disabled', true); var myData = [], i = 0, lastItem = new Array(); $.getJSON( ajax.url + '?action=do_search&term=whole_results', function (data) { $.each(data, function (index, value) { myData[index] = value; if (value['search'] > 0) { lastItem[value['search']] = value; } }); $('#aas-search-term').prop('disabled', false); } ); var curTerm; var maxResults = $('meta[name="aas_results"]').attr('content'); var last = maxResults - 1; var lastUrl; $('#aas-search-term').autocomplete({ source: myData, minLength: 2, select: function(event,ui){ location.assign(ui.item.url) }, search:function(event,ui){ $('.spinner').show(); }, response: function(event,ui){ var c = 0, url; $.each(ui.content, function (index, value) { if(index==0){ url = value.url; } if(undefined != value['taxonomy']) c += parseInt(value['taxonomy']); }); var url2=lastItem[2]['url']; var term= $(this).val(); curTerm = term.replace(curTerm, ''); lastItem[1]['url'] = url; lastItem[1]['label'] = lastItem[1]['value']; lastItem[2]['url'] = url2 + term; lastItem[2]['label'] = lastItem[2]['value']; var myPush = c == 1 ? lastItem[1] : lastItem[2]; lastUrl = myPush['url']; if(ui.content.length < last) { last = ui.content.length; } ui.content[last]=myPush; $('.spinner').hide(); }, open: function (event,ui) { $(this).data("uiAutocomplete").menu.element.addClass("aas_result_wrapper"); $(this).data("uiAutocomplete").menu.element.children().slice(maxResults).remove(); $(this).data("uiAutocomplete"). _resizeMenu= function() { this.menu.element.outerWidth( wrapperWidth ); } } }).click ( function () { $ ( this).val ( '' ) } ) .keypress ( function ( event ) { var append=$(this).attr('append'); if ( event.keyCode == 13 ) { location.assign ( lastUrl ); } } ); })( jQuery );