gpt4 book ai didi

javascript - 如何清除绑定(bind)到 Google 地点自动完成的输入?

转载 作者:行者123 更新时间:2023-12-03 21:45:58 25 4
gpt4 key购买 nike

我的问题是:我正在使用 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();

谢谢!

最佳答案

看来自动完成功能在内部监听输入的模糊事件,所以让我们给它一些监听的东西,然后清除字段:

inputId_div.blur();    
setTimeout(function(){
inputId_div.val('')
inputId_div.focus();},10);

关于javascript - 如何清除绑定(bind)到 Google 地点自动完成的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14384004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com