У меня есть Google Maps автозаполнение работает на нескольких input
тегов, как это:JQuery и Google Maps автозаполнение
<input class="controls pac-input" id="pac-input" type="text" onfocus="geolocate()" placeholder="Type custom address" />
Чтобы включить Карты Google автозаполнения, у меня есть следующий код:
//https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
$(document).ready(function() {
autocomplete = new google.maps.places.Autocomplete((document.getElementById('pac-input')), { types: ['geocode'] });
google.maps.event.addListener(autocomplete, 'place_changed', function() {
MyFunc();
});
});
А потом, в функции MyFunc()
я делать то, что мне нужно:
function MyFunc() {
var fullAddress = autocomplete.getPlace().formatted_address;
var input = $(this);
//stuff that uses input
}
Этот код, однако, имеет две проблемы:
- Во-первых, я использую Id, чтобы воздействовать на несколько полей ввода (у меня много полей ввода). Я пробовал выбирать по классу, но он терпел неудачу с ошибкой «endefined». Как я могу применить эту функцию к набору полей ввода?
- Как узнать, в какое поле щелкнули? Я попытался использовать jquery
$(this)
, но он не работает. Как jQuery может помочь мне?
Заранее благодарен!
Отправьте свою функцию 'MyFunc()' и введите пожалуйста. – RhapX
@ RhapX: сделано! Я обновил сообщение в соответствии с запросом! –
Почему у вас есть несколько входов? В чем смысл? – MrUpsidown