首页 > 解决方案 > getAddress.io API 脚本

问题描述

我试图将 line_1 line_2 和 line_3 的输出都放在同一个名为“address”的字段上,而不是它们都在自己的输入字段上。

我正在使用来自 getAddress.io 的 API,我正在使用的代码如下,我已尽我所能尝试并将我的头撞到墙上,需要专业人士的帮助:)

目前使用该代码显示如下地址:

1 号线:Flat 14 2 号线:Linden Court 3 号线:Main Street

我想要做的是在同一行获取输出,如下所示:

地址:大街林登阁14室

$('#postcode_lookup').getAddress({
  api_key: 'MYAPIKEY',
  output_fields: {
    line_1: '#address',
    line_2: '#line2',
    line_3: '#line3',
    post_town: '#town',
    county: '#county',
    postcode: '#postcode'
  },
  onAddressSelected: function(elem, index) {
    let postcode = $('#getaddress_input').val();
    $('#postcode').val(postcode.toUpperCase());
  }
});

标签: javascriptjquery

解决方案


你只需要传入elem你的div:

onAddressSelected: function(elem,index){
    $('#postcode').val(elem);
}

在此处查看小提琴https://jsfiddle.net/semh9bv3/

您可以用逗号分隔地址,但我不知道这有多准确:

let address = elem.split(',');
let line1 = address[0];
let line2 = address[1];
let line3 = address[2];
let town = address[3];
let county = address[4];
let postcode = address[5];
$('#postcode').val(line1 + line2 + line3);

请参阅更新的小提琴https://jsfiddle.net/1gpxuzL2/

对于您的代码,我的更新将是这样的:

$('#postcode_lookup').getAddress({
  api_key: 'cHCcb9duOU6-o9q1F3-9JQ19989',
  output_fields: {
    line_1: '#address',
    line_2: '#line2',
    line_3: '#line3',
    post_town: '#town',
    county: '#county',
    postcode: '#postcode'
  },
  onAddressSelected: function(elem, index) {
    let address = elem.split(',');
    let line1 = address[0];
    let line2 = address[1];
    let line3 = address[2];
    let town = address[3];
    let county = address[4];
    let postcode = address[5];
    $('#postcode').val(line1 + line2 + line3);
  }
});

在这里查看更新的小提琴与您的代码https://jsfiddle.net/50kfnyo8/


推荐阅读