多个基于类的Google地图自动填充搜索框

时间:2016-02-09 12:20:54

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

我正在构建一个表单,其中我需要的其中一个字段是Google地图位置自动完成搜索框。现在,这些搜索框是动态添加的,它们可能位于具有不同ID的不同页面上。

现在,看一下之前问题的例子,这就是我的所作所为:

HTML:

<input id="{{some generated ID}}" class="mapTypeField" type="text" size="50">

的JavaScript

mapFields = document.getElementsByClassName('mapTypeField');

for (var i=0; i<mapFields.length; i++) {
    function initialize() {
        var input = mapFields[i];
        var autocomplete = new google.maps.places.Autocomplete(input);
    }
    google.maps.event.addDomListener(window, 'load', initialize);
}

并出现以下错误:

  

InvalidValueError:不是HTMLInputElement的实例

     

_。ab @ js?v = 3.exp&amp; sensor = false&amp; libraries = places:32

我对JS不是很好,我可能犯了什么错误?另外,还有另一种方法可以做我想做的事吗?

1 个答案:

答案 0 :(得分:1)

这应该有效:

改变这个:

var autocomplete = new google.maps.places.Autocomplete(input);

为:

var autocomplete = new google.maps.places.Autocomplete(input[i]);

这是一个有效的JSFiddle https://jsfiddle.net/rdawkins/69Luo215/2/