Вот моя проблема: я использую автозаполнение Google Places для сбора информации о местах от пользователя.
В событии "place_changed" я сохраняю эту информацию. Однако я хочу дать пользователю возможность добавить несколько мест. Поэтому после того, как это место было сохранено, я хочу очистить вход.
Однако Google Autocomplete автоматически заменяет последнюю запись в поле ввода. В любом случае, чтобы избавиться от этого?
Подробности:
var inputDiv = $('#myinput');
var options = {
types: ['(cities)']
};
var autocomplete = new google.maps.places.Autocomplete(inputDiv[0], options);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var places = autocomplete.getPlace();
savePlaces(places);
console.log(inputDiv.val()); // 'Paris, France'
inputDiv.val('');
console.log(inputDiv.val()); // (an empty string)
setTimeout(function() {
console.log(inputDiv.val()); // 'Paris, France' (It back!)
inputDiv.val('');
console.log(inputDiv.val()); // (an empty string)
}, 1);
setTimeout(function() {
console.log(inputDiv.val()); // (an empty string)
}, 10);
}
Вы скажете мне, что это хорошо, просто очистите его в тайм-аут. НО, когда я нажимаю на вход (он теряет фокус). Последняя запись возвращается снова!
Любая идея исправить это? Я не нашел в документации Google такую функцию, как
autocomplete.clear();
Спасибо!