Есть форма
<select name="country" id="country">
<option value="bra" selected>Бразилия</option>
<option value="rus">Россия</option>
<option value="ind">Индия</option>
<option value="chn">Китай</option>
<option value="zaf">ЮАР</option>
</select>
<select name="city" id="city">
</select>
Необходимо через событие onchange передавать параметры в функцию при изменении. Сделал вот так но код не работает
var cities = {
bra: ["Сан-Паулу", "Рио-де-Жанейро"],
rus: ["Москва", "Санкт-Петербург"],
ind: ["Мумбаи", "Дели"],
chn: ["Шанхай", "Пекин"],
zaf: ["Йоханнесбург", "Кейптаун"]
};
var country = document.getElementById("country");
var city = document.querySelector("#city");
window.onload = selectCountry(city,cities);
country.onchange = selectCountry(city,cities);
function selectCountry(city,ev){
city.innerHTML = "";
var c = this.value || "bra", o;
for(let i = 0; i < ev[c].length; i++){
o = new Option(ev[c][i],ev[c][i],false,false);
city.add(o);
};
}
Код работает если мы в живую прописываем в самой функции
window.onload = selectCountry;
country.onchange = selectCountry;
function selectCountry(){
city.innerHTML = "";
var c = this.value || "bra", o;
for(let i = 0; i < cities[c].length; i++){
o = new Option(cities[c][i],cities[c][i],false,false);
city.add(o);
};
}
Почему так ????