Я получаю данные JSON из API погоды. В настоящее время мой код получает название города из HTML-ввода и запрашивает API, чтобы узнать погоду для этого конкретного места. Я ввел элемент выбора для кодов стран (поэтому, если вы хотите проверить погоду в Неаполе, а не в Италии, вам нужно выбрать код США в раскрывающемся меню). Я хочу, чтобы он проверял, был ли выбран код страны, прежде чем запускать поиск, и если это так, добавьте его в параметры запроса.
Я пробовал некоторые операторы if / else безуспешно. Коды стран хранятся в объекте и не имеют жесткого кода. Я получаю объект из другого API. Мне удалось поместить эти коды в элемент select, но теперь мне нужно убедиться, что поиск учитывает, был ли выбран другой регион страны.
Я бы хотел, чтобы переменная региона принимала код страны,если пользователь выбрал один
// CODE THAT ADDS WEATHER DATA INTO DOM //
$("#weather-button").click(function() {
$(".weather-img").html("");
$(".weather-type").html("");
$(".weather-temp").html("");
var city = $("input[name=city-box]").val();
var region = "";
$.getJSON("https://api.openweathermap.org/data/2.5/weather?q=" + city + region + "&units=metric&myapikey", function(data) {
console.log(data);..........................
});
// HOW IM GETTING COUNTRY CODE DATA //
var countryCodes = [];
$.getJSON("https://restcountries.eu/rest/v2/all", function(countryData) {
var countryCodes = countryData.reduce((countries, item) => {
countries[item.name] = item.alpha2Code;
return countries;
}, {});
console.log(countryCodes);
// HOW IVE ADDED COUNTRY CODE DATA TO THE <SELECT> //
var selectBox = $("#country-select");
var select = document.getElementById("country-select");
selectBox.append($('<option>', {
value: -1,
text: 'Select a Country'
}));
for (index in countryCodes) {
select.options[select.options.length] = new Option(countryCodes[index], index);
}
})
})