Я использую материализовать, и проблема в том, что у меня есть 2 select-div с опциями, и когда я выбираю Ukranine в первом select? Второй выбор покажет мне только Львов, Одесса, Киев, Харьков. Если я выберу Польшу в первом выборе, второй выбор покажет мне только Варшаву и Краков. Я уже задавал тот же вопрос и получил несколько ответов, которые были полезны, но когда я связал материализовать css, код не работает.
<div class="input-field col s12">
<select id="country-list" onchange="changeCountry(this)">
<option value="none" disabled selected>Choose your option</option>
<option value="1">Ukraine </option>
<option value="2">Poland</option>
</select>
</div>
<div class="input-field col s12">
<select id="city-list">
<option value="none" disabled selected>Choose your option</option>
<option value="1">Lviv</option>
<option value="1">Kiev</option>
<option value="1">Kharkiv</option>
<option value="1">Odessa</option>
<option value="2">Krakow</option>
<option value="2">Warsaw</option>
</select>
</div>
А здесь javascript
var countryObject = {
Ukraine: ["Lviv", "Kiev", "Kharkiv", "Odessa"],
Poland: ["Krakow", "Warsaw"],
};
function changeCountry() {
document.getElementById("city-list").options.length = 0;
var cityListArray =
countryObject[document.getElementById("country-list").value];
console.log(document.getElementById("city-list").options);
for (var item = 0; item < cityListArray.length; item++) {
document.getElementById("city-list").options[
document.getElementById("city-list").options.length
] = new Option(cityListArray[item], cityListArray[item]);
}
}