Сделал в ocStore 3.0.3.7 + симпл - 1 строка адреса с DaData, которая заполняет остальные поля
// Ваш api ключ из лк дадаты https://dadata.ru/#registration_popup
var token = "";
// Для блока адресс берем в переменные нужные инпуты
var $city = $('input[name*="city"]');
var $address = $('input[name*="address_1"]');
//var $postcode = $('input[name*="postcode"]');
var $region= $('select[name*="zone_id"]');
var $countryId = $('select[name*="country_id"]');
// Для блока имени, фамилия
function initName($surname, $name) {
// Если инпута фамилия или имя нету, выходим
if (!$surname.length || !$name.length) return;
var self = {};
self.$surname = $surname;
self.$name = $name;
var fioParts = ["SURNAME", "NAME"];
$.each([$surname, $name], function (index, $el) {
var sgt = $el.suggestions({
token: token,
type: "NAME",
triggerSelectOnSpace: false,
hint: "",
noCache: true,
params: {
// каждому полю --- соответствующая подсказка
parts: [fioParts[index]]
}
});
});
};
// Для блока имени, фамилия вызов
var $surname = $('input[name*="lastname"]');
var $name = $('input[name*="firstname"]');
initName($surname, $name);
// Для блока email с проверкой есть ли данный инпут
var $email = $('input[name*="email"]');
if ($email.length) {
$email.suggestions({
token: token,
type: "EMAIL",
});
}
function join(arr /*, separator */) {
var separator = arguments.length > 1 ? arguments[1] : ", ";
return arr.filter(function(n){return n}).join(separator);
}
function showRegion(address) {
var findRegionValue = address.region.replace(/\s{0,1}[-\/].+/gi, '').toLowerCase();
if ($region.length) {
$region.find('option').each(function (i, o) {
if ($(o).text().toLowerCase().search(findRegionValue) >= 0) $(this).attr('selected', true);
else $(this).attr('selected', false);
});
}
}
function showCity(address) {
$city.val(join([
join([address.city], " "),
join([address.settlement_type, address.settlement], " ")
]));
}
function showAddress(address) {
$address.val(join([
address.street_type, address.street,
address.house_type, address.house,
address.block_type, address.block,
address.flat_type, address.flat], " ")
);
}
function showSelected(suggestion) {
$countryId.val(176);
var address = suggestion.data;
//showPostalCode(address);
showRegion(address);
showCity(address);
showAddress(address);
}
$("#shipping_address_field20").suggestions({
token: token,
type: "ADDRESS",
onSelect: showSelected
});