[英]Use javascript to change second select list based on first select list option
[英]Use javascript to change a second select list based on the first select list option?
我有兩個選擇:
<div class="input-field col s12">
<select id="country-list" >
<option value="none" disabled selected>Choose your option</option>
<option value="1">Ukraine </option>
<option value="2">Poland</option>
<option value="3">Russia</option>
</select>
</div>
<div class="input-field col s12">
<select class="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>
當我在第一個 select 中選擇烏克蘭時,我該怎么做 javascript? 第二個 select 將只顯示利沃夫、敖德薩、基輔、哈爾科夫。 如果我在第一個 select 中選擇波蘭,第二個 select 將只顯示華沙和克拉科夫。
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]); } }
<div class="input-field col s12"> <select id="country-list" onchange="changeCountry()"> <option value="none" disabled selected>Choose your option</option> <option value="Ukraine">Ukraine </option> <option value="Poland">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="Lviv">Lviv</option> <option value="Kiev">Kiev</option> <option value="Kharkiv">Kharkiv</option> <option value="Odessa">Odessa</option> <option value="Krakow">Krakow</option> <option value="Warsaw">Warsaw</option> </select> </div>
它會為你工作嗎?
var countryObject = { "Ukraine": ["Lviv","Kiev","Kharkiv","Odessa"], "Poland":["Krakow","Warsaw"] } function changeCountry(el){ document.getElementById("city-list").options.length = 0; var cityListArray = countryObject[el.options[el.selectedIndex].text]; console.log(el.options[el.selectedIndex].text); 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]); } }
<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>
它會為你工作嗎? 我已將值修改為代碼中的數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.