JQuery geocomplete street_address не работает

Сегодня я стучу головой в стены, пытаясь получить результат поля из jQuery Geocomplete, чтобы отобразить street_address, но он выглядит, что плагин не отображает его как data-geo = "" в поле формы или что-то еще!.

Bellow на моем HTML. У меня есть поля, чтобы выбрать название улицы, а другое для числа, в котором мне нужен результат, чтобы перейти к #BillingAddress. Я считаю, что некоторые JavaScript могут выполнять эту работу, но я не эксперт в этом.

До сих пор я пытался использовать некоторый jquery для trnasfer значений полей для ввода #BillingAddress, но он копируется только при нажатии или нажатии других входов, но я хочу, чтобы они скрывались чтобы улучшить видимость и сделать форму менее сложной для некоторых людей, поэтому, когда выбраны результаты Geo, они заполняются вместе в этом поле.

$('#houseNo').on('propertychange change click ***** input paste',function(){
 $('#BillingAddress').val(this.value+' '+$('#street').val());
});
$('#street').on('propertychange change click ***** input paste', function(){
 $('#BillingAddress').val($('#houseNo').val()+' '+this.value);
});

Большое спасибо за помощь, и я думаю, что это также хороший запрос для некоторых других.

ЗДЕСЬ FIDDLE

2 ответа

fillDetails: function (result) { Объект "результат" не имеет "street_address" в "address_components", он устанавливается как отдельное свойство результата - "name". Если вы только что набрали поисковый запрос и отправлены, возвращается "имя". Если вы снова нажмете "найти", "имя" не возвращается.

Я сделал быстрое "исправление", чтобы заменить "street_address", в строке 338 я добавил следующее:

street_addr: result.formatted_address.split(',')[0],

Итак, строки 335-339 выглядят так:

// Add infos about the address and geometry.
 $.extend(data, {
 formatted_address: result.formatted_address,
 street_addr: result.formatted_address.split(',')[0],
 location_type: geometry.location_type || "PLACES",

И добавил "street_addr" в строке 65:

"formatted_address street_addr location_type bounds").split(" ");


Как вы, наверное, уже знаете, изменение плагина - это не очень здорово. Существует более простой способ объединения элементов объекта результатов. Просто привяжите результат.

$('#geocomplete').geocomplete({
 details: '#geo_details',
 detailsAttribute: 'data-geo',
 types: ['geocode', 'establishment']
}).bind("geocode:result", function(e, r) {
 return $('[data-geo=street_address]').val(r['address_components'][0]['short_name'] + ' ' + r['address_components'][1]['short_name']);
});

licensed under cc by-sa 3.0 with attribution.