我有可变数量的文本字段,我正在动态初始化 Google 地图自动完成功能。
问题是每次地点已更改事件被触发,我需要确切地知道它是在哪个输入框上触发的。我怎样才能将这些数据传递给我的保存位置功能?
现在,event评估结果为未定义。
initAutocomplete = function (element) {
autocomplete = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(element), {});
autocomplete.addListener('place_changed', saveLocation);
},
saveLocation = function (event) {
console.log(event);
var place = autocomplete.getPlace();
},
可能的方法:
var initAutocomplete = function (element) {
var autocomplete = new google.maps.places.Autocomplete(element);
google.maps.event.addListener(autocomplete,
'place_changed',
function(){saveLocation.call(autocomplete,element)});
},
saveLocation = function (element) {
document.getElementsByTagName('code')[0]
.innerHTML=element.getAttribute('name');
var place = this.getPlace();
};
google.maps.event.addDomListener(window, 'load', function(){
var inputs=document.querySelectorAll('.pac');
for(var i=0;i<inputs.length;++i){
initAutocomplete(inputs.item(i));
}
});
<code></code><br/>
<input class="pac" name="field1">field1<br/>
<input class="pac" name="field2">field2<br/>
<input class="pac" name="field3">field3<br/>
<script src="https://maps.googleapis.com/maps/api/js?v=3&libraries=places"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)