2017-02-01 3 views
-1

Ich habe versucht, die automatische Vervollständigung mit Klassennamen arbeiten, obwohl seit dem ich den Ereignis-Listener nicht mehr hinzufügen kann? Jeder hat eine Lösung dafür?Autocomplete Google Maps JS Fehler

Dies ist mein Code

function InitiliazeGoogleSearch() { 
var input = document.getElementsByClassName('js-autocomplete'); 
for (i = 0; i < input.length; i++) { 
    autocomplete = new google.maps.places.Autocomplete(input[i]); 
} 

google.maps.event.addListener(autocomplete, 'place_changed', function() { 
    if(!$('.js-main-filter_wrapper').css('display','block')) { 
     $('.js-main-filter_wrapper').slideToggle(); 
    } 
}); 
} 

Antwort

3

In der Schleife Sie die autocomplete Variable neu zuweisen, aber Sie sind nur den Hörer auf die letzte Befestigung, da sie außerhalb der Schleife ist. Um einen Listener für jeden zu haben, brauchen Sie ihn in der Schleife.

function InitiliazeGoogleSearch() { 
    var input = document.getElementsByClassName('js-autocomplete'); 
    for (var i = 0; i < input.length; i++) { 
     autocomplete = new google.maps.places.Autocomplete(input[i]); 

     google.maps.event.addListener(autocomplete, 'place_changed', function() { 
      if (!$('.js-main-filter_wrapper').css('display', 'block')) { 
       $('.js-main-filter_wrapper').slideToggle(); 
      } 
     }); 
    } 
} 
Verwandte Themen