2017-02-01 12 views
-1

私はイベントリスナーをもう追加できないので、私はクラス名を使ってオートコンプリートを取得しようとしていますか?誰にでも解決策がありますか?Googleの自動マップJSエラー

これは、あなたがautocomplete変数を再割り当てされているが、それはループの外ですので、あなただけの、最後の1にリスナーをアタッチしている私のコードあなたのループでは

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(); 
    } 
}); 
} 

答えて

3

です。それぞれのリスナーを取得するには、ループ内にリスナーが必要です。

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(); 
      } 
     }); 
    } 
}