【问题标题】:Google autocomplete Address Form with <select> tag带有 <select> 标签的 Google 自动填充地址表单
【发布时间】:2018-03-01 02:42:53
【问题描述】:

我尝试使用自动完成文件制作 Web 表单,并使用这些示例中的代码 https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform?hl=ru

使用标签一切正常。但是,如果我通过添加 ID 国家/地区将参数“国家”分配给标记,那么我什么也得不到 - 空白字段。

那么我怎样才能获得自动编译数据来标记而不是标记?

有我的选择标签

<select id="country">
<option value="" disabled selected>Country</option>
<option value="Romania">Romania</option>
<option value="Russia">Russia</option>
<option value="Rwanda">Rwanda</option>
</select> 

还有我的谷歌初始化代码部分:

  var componentForm = {
      street_number: 'short_name',
      route: 'long_name',
      locality: 'long_name',
      administrative_area_level_1: 'short_name',
      country: 'long_name',
      postal_code: 'short_name'
    };

谢谢

【问题讨论】:

    标签: javascript html autocomplete google-geolocation


    【解决方案1】:

    让我们从 google 地方自动完成获取国家/地区组件开始。您的组件表单可帮助您从 google 地方库返回的数据中选择短名称或长名称。

     var country = place.address_components[i][componentForm['country']];
    

    现在您需要按上面代码行中的国家/地区名称获取选择下拉列表的值。

    var val = $("#country option:contains('" + country + "')").val();
    

    剩下的就是为找到的值分配一个选择值:

    $("#country").value = val;
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    猜你喜欢
    • 1970-01-01
    • 2015-07-26
    • 2011-05-02
    • 2018-03-30
    • 2018-06-28
    • 2016-11-08
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    相关资源
    最近更新 更多