如何从多个谷歌地图自动完成获取输入ID

时间:2016-10-23 14:29:52

标签: javascript google-maps google-maps-api-3

我正在使用Google地图自动填充功能。我有一个单一形式的多个地址选择器,如下图所示:

enter image description here

我添加了两个额外的自定义地址,其结果是谷歌地图自动完成功能,如下图所示:

enter image description here enter image description here

下面给出了添加额外自定义地址的代码:

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

同一办公室和家庭住址都添加了Pickup和droffof locaion。现在我需要知道点击/选择地址(自定义地址)选择器的ID。我使用了一个javascript方法(onmousedown =&#34; ShowMap(e);&#34;)来获取ID。但我无法获得预期的结果。任何人都可以帮助我吗?

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

1 个答案:

答案 0 :(得分:1)

您使用了错误的e变量 该变量在其他地方(在全局范围内)定义,否则您将收到错误:

  

如果您没有定义e变量,此示例会显示错误:

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

如果您愿意 - 您可以使用this传递您刚刚点击的当前元素,这样就很容易获得该元素的id

&#13;
&#13;
var e;

function ShowMap(el, e) {
  console.log(el.getAttribute('id'))
}
&#13;
<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>
&#13;
&#13;
&#13;