как получить идентификатор ввода из нескольких автозаполнений карт Google

#javascript #google-maps #google-maps-api-3

#javascript #google-карты #google-maps-api-3

Вопрос:

Я использую автозаполнение карты Google. У меня есть средство выбора нескольких адресов в одной форме, которая показана на приведенном ниже изображении:

введите описание изображения здесь

Я добавил два дополнительных пользовательских адреса с результатом автозаполнения карты Google, который показан на приведенном ниже изображении:

введите описание изображения здесьвведите описание изображения здесь

Код для добавления дополнительного пользовательского адреса приведен ниже:

     if (AType == "Home")
                            icss = "pac-icon icon-home";
                        else if (AType == "Office")
                            icss = "pac-icon icon-office";
                        else
                            icss = "pac-icon icon-other";
$(".pac-container").append('<div class="pac-item cs" onmousedown="ShowMap(e);"><span class="'   icss   '"></span><span class="pac-item-query"><span class="pac-matched"></span>'   Add   '</span> <span></span></div>');
  

Добавляются один и тот же офисный и домашний адреса с указанием местоположения получения и удаления. Теперь мне нужно знать идентификатор средства выбора щелчка / выбранного адреса (пользовательский адрес). Я использовал метод javascript (onmousedown=»ShowMap (e);») для получения идентификатора. Но я не могу получить ожидаемый результат. Кто-нибудь может мне помочь?

 function ShowMap(e) {
        e = e || window.event;        
        var elementId = e.target ? e.target.id : e.srcElement.id;
        alert(elementId);
    }
  

Ответ №1:

Вы используете неправильную e переменную.
Эта переменная определена где-то в другом месте (в глобальной области видимости), в противном случае вы получите сообщение об ошибке:

В этом примере отображается ошибка, если у вас не определена e переменная:

 function ShowMap(e) {
  console.log(e)
}  
 <div id="areasearch" class="pac-item cs" onmousedown="ShowMap(e)">a</div>  

Если вы хотите — вы можете передать текущий элемент, на который вы только что нажали, используя this , и таким образом легко получить id этот элемент:

 var e;

function ShowMap(el, e) {
  console.log(el.getAttribute('id'))
}  
 <div id="areasearch1" class="pac-item cs" onmousedown="ShowMap(this, e)">a</div>
<div id="areasearch2" class="pac-item cs" onmousedown="ShowMap(this, e)">b</div>  

Комментарии:

1. Спасибо за ваш ответ