Google 地图自动完成表单自定义

Google Map Autocomplete Form Customization

我已经为结帐页面实现了 google 自动完成表单。能够将值填充到相应的输入 fields.Once 用户 select 是建议列表中的建议地址,正在将值填充到输入字段。在这里,我想要更改自动完成字段(用户首先键入的字段)#address.line1 值。所以我实施了以下内容:

 var street = document.getElementById("address.line1").value;
 var streetaddress= street.substr(0, street.indexOf(','));
 document.getElementById("address.line1").value = streetaddress;

以上代码将获取#address.line1 中的值并将该值切片到第一个逗号并放回#address.line1。

当我 select 使用鼠标光标建议地址时,一切正常,但如果我使用键盘(箭头)来 select 建议,则它不会分割地址。 #address.line1 被整个 formated_adddress 数组填满。

演示:http://jsfiddle.net/eze0rfuk/4/

截屏视频:http://screencast.com/t/VW7mAiQL

请告诉我可能是什么问题和解决方案...

这肯定会发生,因为一次点击已经绑定到 address.line1。

您可以做的是:

  1. 从此输入字段移除焦点

document.getElementById("addressline1").blur(); var streetaddress= street.substr(0, street.indexOf(',')); document.getElementById("addressline1").value = streetaddress;

  1. 将焦点放在下一个输入字段(这实际上是为了获得良好的用户体验所必需的)

    $("#route").focus();
    

    var streetaddress= street.substr(0, street.indexOf(',')); document.getElementById("addressline1").value = 街道地址;

如果您有任何疑问,请发表评论。

此致,

苏亚什