我正在使用以下代码填充应用程序的地址部分:
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
我的地址部分在局部视图中,其中包含地址字段,街道名称,国家/地区,城市,州和邮政编码字段。
我正在做的是在单击地址输入时调用initAutocomplete函数。因此,用户可以在此处输入地址,并填写其他字段:街道,国家/地区,城市,州和邮政编码。
问题在于,国家/地区字段是一个下拉列表,我希望根据选择的国家/地区限制自动填充功能。这有效,下面是代码:
var options = {
types: ['geocode'],
componentRestrictions: {country: "us"}
};
因此,更改国家/地区后,地址的自动填充功能仅限于所选国家/地区。
我遇到的问题是,最初我会在用户单击时设置在地址字段上设置自动完成对象。首次加载页面时,地址自动完成功能没有国家/地区限制。
但是如果选择了一个国家,那么应该有限制。 问题是由于on click事件而取消了限制。
页面加载时无法设置自动完成对象,原因是我不知道页面中将有多少个地址字段,因此我没有固定的ID。 我需要地址字段的ID来填充其他字段。
我正在做类似的事情:
$(".addressGeo").onClick(event){
get address id based on event
call api function with no country restriction
use id to set the 'attached' country, city.. field to that address
)
我的问题是,有什么方法可以设置自动完成对象而没有国家/地区限制,但是当选择一个国家/地区以将自动完成功能限制在所选国家/地区时?