Адресная форма автозаполнения Google с тегом ‹select›

Я пытаюсь создать веб-форму с полями автозаполнения и использую код из этого примера https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform?hl=ru

С тегом все работает. Но если я назначу параметр «страна» для тега, добавив идентификатор страны, я ничего не получу - пустое поле.

Итак, как я могу получить данные автозаполнения для тега вместо тега?

Есть мой тег выбора

<select id="country">
<option value="" disabled selected>Country</option>
<option value="Romania">Romania</option>
<option value="Russia">Russia</option>
<option value="Rwanda">Rwanda</option>
</select> 

и есть моя часть кода инициализации Google:

  var componentForm = {
      street_number: 'short_name',
      route: 'long_name',
      locality: 'long_name',
      administrative_area_level_1: 'short_name',
      country: 'long_name',
      postal_code: 'short_name'
    };

Спасибо


person ilnur    schedule 20.09.2017    source источник


Ответы (1)


Начнем с получения компонента страны из автозаполнения Google Places. Форма вашего компонента поможет вам здесь выбрать короткое или длинное имя из данных, возвращаемых библиотекой мест Google.

 var country = place.address_components[i][componentForm['country']];

Теперь вам нужно получить значение раскрывающегося списка выбора по названию страны, найденному в строке кода выше.

var val = $("#country option:contains('" + country + "')").val();

Осталось только присвоить найденному значению значение select:

$("#country").value = val;
person Denys Fiialko    schedule 03.06.2019
comment
Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего поста. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода. - person rene; 03.06.2019