无限 Google 个地点实例

Infinite Google Places Instances

我的数据库记录被打印到 table 中,其中包含输入中的值。对于每条记录,我需要 Google 他们的 API.

自动完成 Location 字段

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.
        */
    });
}

检查哪个输入字段已更改的最佳方法是什么?

进行了大量研究,最终得出了这个解决方案。

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