这是我的问题:我正在使用 Google 地点自动完成功能从用户那里收集有关地点的信息。
在事件“place_changed”中,我保存此信息。不过,我想让用户可以添加多个位置。所以在保存这个地方后我想清除输入。
但是,Google 自动完成功能会自动替换输入字段中的最后一个条目。无论如何要摆脱它吗?
细节 :
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's back!)
inputDiv.val('');
console.log(inputDiv.val()); // (an empty string)
}, 1);
setTimeout(function() {
console.log(inputDiv.val()); // (an empty string)
}, 10);
}
你会告诉我,好吧,看起来不错,只需在超时时清除它即可。
但是当我点击远离输入时(它失去了焦点)。最后的条目又回来了!
有办法解决这个问题吗?
我在 Google 文档中没有找到诸如
autocomplete.clear();
Thanks!
看起来自动完成在内部监听输入的模糊事件,所以让我们给它一些监听的东西,然后清除字段:
inputId_div.blur();
setTimeout(function(){
inputId_div.val('')
inputId_div.focus();},10);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)