我正在使用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>');
同一办公室和家庭住址都添加了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);
}
答案 0 :(得分:1)
您使用了错误的e
变量
该变量在其他地方(在全局范围内)定义,否则您将收到错误:
如果您没有定义
e
变量,此示例会显示错误:
function ShowMap(e) {
console.log(e)
}
&#13;
<div id="areasearch" class="pac-item cs" onmousedown="ShowMap(e)">a</div>
&#13;
如果您愿意 - 您可以使用this
传递您刚刚点击的当前元素,这样就很容易获得该元素的id
:
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;