2016-12-22 2 views
-1

Мне не удалось получить автозаполнение, так что мне делать?Как добавить автозаполнение рабочего места, передав параметризатор

<input class="form-control" name="loc[]" onkeypress="return initialize(input);" required> 

код расслоение плотной:

function initialize(input) { 

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

google.maps.event.addDomListener(window, 'load', initialize); 

ответ

1

Вам не нужно, чтобы добавить onkeypress событие, Autocomplete будет обрабатывать это для вас. Просто передайте свой элемент input и некоторые options в конструктор Autocomplete.

Пример:

var input = document.getElementById('searchTextField'); 
 
var options = { 
 
    types: ['(cities)'], 
 
    componentRestrictions: {country: 'us'} 
 
}; 
 

 
autocomplete = new google.maps.places.Autocomplete(input, options);
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?&libraries=places"></script> 
 

 
<input id="searchTextField" type="text" size="50" placeholder="Cities in US">

- Обновление - Использование динамически создаваемые input элементы.

var form = document.getElementsByTagName('form')[0]; 
 
var options=[{placeholder:"Cities in US",options:{types:["(cities)"],componentRestrictions:{country:"us"}}},{placeholder:"Cities in FR",options:{types:["(cities)"],componentRestrictions:{country:"fr"}}}]; 
 

 
function addAutocomplete (elem, options) { 
 
    autocomplete = new google.maps.places.Autocomplete(elem, options); 
 
} 
 

 
function crateAutoCompleteInputs (count, optoins) { 
 
    for (var i = 0; i < count; i++) { 
 
    var input = document.createElement('input'); 
 
    input.type = 'text'; 
 
    input.placeholder = optoins[i].placeholder; 
 
    form.appendChild(input); 
 
    addAutocomplete(input, options[i].options) 
 
    } 
 
} 
 

 
crateAutoCompleteInputs(2, options)
input { 
 
    margin-right: 12px; 
 
}
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?&libraries=places"></script> 
 

 
<form></form>

+0

я не хочу использовать идентификатор, потому что я должен динамический ввод с другим идентификатором –

+0

Вам не нужно, чтобы выбрать элемент его 'id', все, что вам нужно сделать, это пройти это к «Автозаполнению». Вот и все. В чем проблема ? – DavidDomain

+0

Я сделал обновление с использованием динамически созданных элементов 'input'. – DavidDomain

Смежные вопросы