2016-11-17 8 views
1

私のデータベースレコードは、入力の値を持つテーブルに印刷されます。すべてのレコードについて、私はLocationフィールドをGoogleのAPIによって自動完成させる必要があります。無限のGoogleプレイスインスタンス

HTML:

<input name="edit_airplane[1][location]" type="text" class="airplane_location" value="Balmaceda"> 

Javascriptを:

function initAutocomplete() { 
    var airplane_location_field = jQuery('.airplane_location'); 

    autocomplete = new google.maps.places.Autocomplete(airplane_location_field), {types : ['geocode']}); 
    autocomplete.addListener('place_changed', function() { 
     /* 
      Whenever the value of the location field has changed. I need to 
      Create a new input field which is hidden with the full address 
      Of the selected google autocomplete location. 
     */ 
    }); 
} 

何が変わった入力フィールドをチェックするための最良の方法だろうか?

答えて

1

多くの研究を行い、最終的にこの解決策になりました。

function initAutocomplete() { 
    // All of the airplanes_location input fields are combined. 
    var airplane_location_fields = jQuery('.airplane_location'); 

    // For each location form field 
    airplane_location_fields.each(function() { 
     var _this = jQuery(this), autocomplete = new google.maps.places.Autocomplete(this); 
     _this.data('autocomplete', autocomplete); 

     // For each input field I stored the autocomplete object into .data; 
     _this.data('autocomplete').addListener('place_changed', function() { 
      getPlaceData(_this); 
     }); 
    }); 
} 


function getPlaceData(input) { 
    // In this function I checked the input.data('autocomplete'); 
}