I am using autocomplete jquery UI. It works in all other browsers FF, Chrome, etc., With the exception of IE7. It works for higher versions of IE, but IE7 gives the following error:
SCRIPT3: Member not found. jquery.min.js, line 2 character 30636
This is my function:
$('input.autocomplete').each( function() { var $input = $(this); // Set-up the autocomplete widget. var serverUrl = $input.data('url'); $(this).autocomplete({ source: function( request, response ) { var countrySelect = $("#countrySelect").val(); if($input.attr('id') == 'searchJobPostalCode'){ countrySelect = $("#searchJobCountrySelect").val(); }else if($input.attr('id') == 'searchPeoplePostalCode'){ countrySelect = $("#searchUserCountrySelect").val(); } $.ajax({ url: serverUrl, dataType: "json", data: { term: request.term, countrySelect: countrySelect }, success: function( data ) { $input.removeClass( "ui-autocomplete-loading" ); response( $.map( data, function( item ) { if(typeof item.companyName != 'undefined'){ return { label: item.companyName, value: item.companyName, id: item.companyID } } if(typeof item.locationId != 'undefined'){ return { label: item.postalCode +','+item.placeName+','+item.adminName1+','+item.countryCode, value: item.postalCode +','+item.placeName+','+item.adminName1+','+item.countryCode, postalCode: item.postalCode, city: item.placeName, state: item.adminName1, country: item.countryCode } } //to show user alias autocomplete on compose message if(typeof item.userAlias != 'undefined'){ var label1 = item.userAlias; if(typeof item.city != 'undefined'){ label1 = label1+','+item.city; } if(typeof item.state != 'undefined'){ label1 = label1+','+item.state; } if(typeof item.country != 'undefined'){ label1 = label1+','+item.country; } return { label: item.userAlias, userAlias: item.userAlias } } })); } }); }, minLength: 3,cacheLength:0,keyDelay:900, select: function( event, ui ) { $("#companyId").val(ui.item.id); if(typeof ui.item.userAlias != 'undefined'){ $(".toUser").val(ui.item.userAlias); } if(typeof ui.item.postalCode != 'undefined'){ $("#postalCode").val(ui.item.postalCode); $("#city").val(ui.item.city); $("#state").val(ui.item.state); $("#country").val(ui.item.country); if($input.attr('id') == 'searchJobPostalCode'){ $("#searchPostalCodeJobsSearch").val(ui.item.postalCode); $("#searchCityJobsSearch").val(ui.item.city); $("#searchStateJobsSearch").val(ui.item.state); $("#searchCountryJobsSearch").val(ui.item.country); }else if($input.attr('id') == 'searchPeoplePostalCode'){ $("#searchPostalCodePeople").val(ui.item.postalCode); $("#searchCityPeople").val(ui.item.city); $("#searchStatePeople").val(ui.item.state); $("#searchCountryPeople").val(ui.item.country); } } }, change: function( event, ui ) { if($(this).attr('id') !='companyName'){ if ( ui.item == null) { valid = false; }else{ valid = true; } if ( !valid ) { // remove invalid value, as it didn't match anything $( this ).val( "" ); select.val( "" ); input.data( "autocomplete" ).term = ""; return false; } } }, open: function() { $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" ); }, close: function() { $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" ); $( this ).removeClass( "ui-autocomplete-loading" ); } }); });
I tried to debug and it made a mistake in the line: $(this).autocomplete({
Any idea? thanks in advance
jquery-ui
Jan birds fly
source share