Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 首次使用后如何触发Google Places自动完成结果下拉列表?_Javascript_Jquery_Google Maps_Google Places Api_Googleplacesautocomplete - Fatal编程技术网

Javascript 首次使用后如何触发Google Places自动完成结果下拉列表?

Javascript 首次使用后如何触发Google Places自动完成结果下拉列表?,javascript,jquery,google-maps,google-places-api,googleplacesautocomplete,Javascript,Jquery,Google Maps,Google Places Api,Googleplacesautocomplete,使用谷歌地图JavaScript API(通过),我的地址输入 。。。当我键入“1251”时显示自动完成信息 。。。并在单击地址(或按enter键)时将完整地址添加到输入中: 当前,如果我再次单击地址输入(添加地址后),它只会将焦点添加到输入,而不会添加其他内容: 我的问题是:当单击已经自动完成的输入时,如何使用输入的数据再次触发下拉列表? 点击delete一次(只需将结尾从USA更改为US)即可重新打开下拉列表,但我不希望用户必须更改条目才能看到下拉列表。以下是我尝试过的: $('.g

使用谷歌地图JavaScript API(通过
),我的地址输入

。。。当我键入“1251”时显示自动完成信息

。。。并在单击地址(或按enter键)时将完整地址添加到输入中:

当前,如果我再次单击地址输入(添加地址后),它只会将焦点添加到输入,而不会添加其他内容:

我的问题是:当单击已经自动完成的输入时,如何使用输入的数据再次触发下拉列表?

点击delete一次(只需将结尾从
USA
更改为
US
)即可重新打开下拉列表,但我不希望用户必须更改条目才能看到下拉列表。以下是我尝试过的:

$('.geoloc输入')。打开({
//“更改位置”和“焦点”都不会触发下拉菜单(不起作用)
单击:函数(){
google.maps.event.trigger(这是“place_changed”);
//或
google.maps.event.trigger(这个'focus',{});
},
//输入从下拉列表中选择第一个地址(works)
向下键:功能(e){
如果(e.keyCode==13){
google.maps.event.trigger(这个'keydown',{keyCode:40});
google.maps.event.trigger(这个'keydown',{keyCode:13});
这个。blur();
}
}
});

使用字段值以编程方式触发下拉列表的正确方法是什么?

我想我知道您想要实现什么。您希望保留文本字段的状态,以便在恢复焦点时,它可以恢复到原来的位置。你喜欢这个工作吗

var input=document.getElementById('searchTextField');
var autocomplete=new google.maps.places.autocomplete(输入);
addEventListener('input',function(){
this.dataset.originalVal=this.value;
});
input.addEventListener('focus',函数(){
this.value=input.dataset.originalVal?input.dataset.originalVal:this.value;
});
输入{
宽度:300px;
}

接受的答案不适合我,但另一个答案:


TL;DR,延迟后调用输入的
.focus()

“…重新打开下拉列表,但这不是我想要的。”然后你想要什么?当你第二次触发焦点时,你希望在下拉列表中看到什么值?你是对的,我不清楚这一点。。。将其编辑为“我不希望用户必须更改条目才能看到下拉列表”,这是否回答了您的问题?