Ваши комментарии
10 лет назад
Примерно так:
function join(arr) { var separator = arguments.length > 1 ? arguments[1] : ', '; return arr.filter(function(n) { return n; }).join(separator); } function enableSuggestions(ui) { ui.address.suggestions({ serviceUrl: "https://dadata.ru/api/v2", token: "***", type: "ADDRESS", onSelect: showSelected }); function showSelected(suggestion) { var address = suggestion.data; ui.index.val(address.postal_code); ui.region.val(join([ join([address.region_type, address.region ], ' '), join([address.area_type, address.area ], ' ') ])); ui.city.val(join([ join([address.city_type, address.city ], ' '), join([address.settlement_type, address.settlement ], ' ') ])); ui.street.val(join([address.street_type, address.street ], ' ')); ui.house.val(join([ join([address.house_type, address.house ], ' '), join([address.block_type, address.block ], ' ') ])); ui.flat.val(join([address.flat_type, address.flat ], ' ')); } } enableSuggestions({ address: $("#otkuda"), index: $('#index1'), region: $('#region'), city: $('#city'), street: $('#street'), house: $('#house'), flat: $('#flat') });
Примерно так:
var parts = [$region, $city, $street]; parts.forEach(function($part) { $part.change(function() { onPartChange(formatParts(parts)); }); }); function join(arr) { var separator = " "; return arr.filter(function(n){return n;}).join(separator); } function formatParts(parts) { var partialValues = parts.map( function($el) { return $el.val(); } ); return join(partialValues); } function onPartChange(newVal) { suggestOne(newVal) .done(function(response) { var suggestion = response.suggestions[0]; $address.val(suggestion.value); }); } function suggestOne(query) { var serviceUrl = "https://dadata.ru/api/v2/suggest/address", token = "***", request = { "query": query }, params = { type: "POST", contentType: "application/json", headers: { "Authorization": "Token " + token }, data: JSON.stringify(request) }; return $.ajax(serviceUrl, params); }
Добрый день!
Зарегистрируйтесь, зайдите в Личный кабинет, и нажмите "Сгенерировать" около API-ключа
Если я правильно понял – вы хотите раскладывать адрес по полям. Посмотрите пример, как можно реализовать эту функциональность.
Добрый день!
Дайте, пожалуйста, ссылку на вашу реализацию.
Посмотрим, в чем дело.
Уточните пожалуйста, какой именно механизм интересует?
Теперь адрес уже другой: 115088 ГОРОД МОСКВА УЛИЦА УГРЕШСКАЯ ДОМ 2 КОРП 84 КВ 1 К 01-05
Сервис поддержки клиентов работает на платформе UserEcho