As embarrassing as this is to admit I'm a beginner at programming and I was copying a code in a youtube tutorial for my website project, for some odd reasons the code appears to be null and the Country List on the search box doesn't show... i don't have the slightest clue on how to configure it and its almost due, i need help please :(
function createCountryList(){
const num_countries = country_list.length;
let i = 0, ul_list_id;
country_list.forEach( (country, index) => {
if( index % Math.ceil(num_countries/num_of_ul_lists) == 0){
ul_list_id = `list-${i}`;
country_list_element.innerHTML += `<ul id='${ul_list_id}'></ul>`;
i++;
}
document.getElementById(`${ul_list_id}`).innerHTML += `
<li onclick="fetchData('${country.name}')" id="${country.name}">
${country.name}
</li>
`;
})
}
let num_of_ul_lists = 3;
createCountryList();
// SHOW/HIDE THE COUTRY LIST ON CLICK EVENT
chang_country_btn.addEventListener("click", function(){
input.value = "";
resetCountryList();
search_country_element.classList.toggle("hide");
search_country_element.classList.add("fadeIn");
});
close_list_btn.addEventListener("click", function(){
search_country_element.classList.toggle("hide");
});
country_list_element.addEventListener("click", function(){
search_country_element.classList.toggle("hide");
});
// COUNTRY FILTER
/*input event fires up whenever the value of the input changes */
input.addEventListener("input", function(){
let value = input.value.toUpperCasse();
country_list.forEach( country => {
if( country.name.toUpperCase().startsWith(value)){
document.getElementById(country.name).classList.remove("hide");
}else{
document.getElementById(country.name).classList.add("hide");
}
})
})
// RESET COUNTRY LIST (SHOW ALL THE COUNTRIES )
function resetCountryList(){
country_list.forEach( country => {
document.getElementById(country.name).classList.remove("hide");
})
}```