Я использую API Google для получения некоторых данных и автозаполнения некоторых полей в моей форме.
Поведение по умолчанию состоит в том, что когда я выбираю определенную "страну" из выпадающего списка вручную, то с сервера я получаю списки или раскрывающийся список для "Регион" html выберите.
Поскольку я использую Google API, поэтому я динамически меняю страну, но я не получаю списки для региона, поскольку я проверил, что событие "Изменить" не получает срабатывает на "страну" html выберите. Я попытался .trigger ("изменить") и .change (), но ничего не работает, или я могу сказать, что событие изменения не запускается.
Примечание :: Код для регионов, заполняемых опциями выбора, когда мы выбираем конкретную страну, написан на бэкэнде, поэтому у меня нет доступа или я не могу сделать запрос API для конкретной страны. Мой код ниже ::
function fillInAddress() {
var place = autocomplete.getPlace();
for (var i = 0; i < place?.address_components?.length; i++) {
var addressType = place.address_components[i].types[0];
if (componentForm[addressType]) {
var val = place?.address_components[i][componentForm[addressType]];
document.getElementById(addressType).value = val;
}
// for autoselect of region from google API
if(addressType == "administrative_area_level_1"){
regionkey = place?.address_components[i]?.long_name;
regionvalue = place?.address_components[i]?.long_name;
}
// for autoselect of country from Places API
if(addressType == "country"){
countryKey = place?.address_components[i]?.long_name;
countryValue = place?.address_components[i]?.short_name.toUpperCase();
$('#order_shipping_address_country').val(countryValue);
$('#order_shipping_address_country').trigger('change');
// the issue is here it seems
}
}
}
Код работает нормально для других полей, поэтому я дал только фрагмент здесь, но событие изменения здесь не запускается. Почему это происходит?