綁對方現在我有三個下拉菜單。頁面加載時僅顯示第一個下拉菜單。一旦選擇了該菜單中的選項,就會出現第二個菜單。我正在嘗試對第二個和第三個菜單執行相同的操作,但它不起作用。下面是我的HTML和JS代碼,我做錯了什麼?多重下拉菜單中的JavaScript
function choose() {
if (document.getElementById('filter1').value == 'genre') {
document.getElementById('items').style.display = 'block';
document.getElementById('items2').style.display = 'none';
document.getElementById('items3').style.display = 'none';
document.getElementById('items4').style.display = 'none';
} else if (document.getElementById('filter1').value == 'year') {
document.getElementById('items').style.display = 'none';
document.getElementById('items2').style.display = 'block';
document.getElementById('items3').style.display = 'none';
document.getElementById('items4').style.display = 'none';
} else if (document.getElementById('filter1').value == 'director') {
document.getElementById('items').style.display = 'none';
document.getElementById('items2').style.display = 'none';
document.getElementById('items3').style.display = 'block';
document.getElementById('items4').style.display = 'none';
} else if (document.getElementById('filter1').value == 'actor') {
document.getElementById('items').style.display = 'none';
document.getElementById('items2').style.display = 'none';
document.getElementById('items3').style.display = 'none';
document.getElementById('items4').style.display = 'block';
} else {
document.getElementById('items').style.display = 'none';
document.getElementById('items2').style.display = 'none';
document.getElementById('items3').style.display = 'none';
document.getElementById('items4').style.display = 'none';
}
}
function check() {
if (document.getElementById('items').style.display == 'block') {
document.getElementById('filter').style.display = 'block';
}
}
<div class="col-md-4">
<div class="dropdown">
<select id="filter1" name="filter1" onclick="choose()">
<option value=NULL>Filter 1</option>
<option value="genre">Genre</option>
<option value="year">Year</option>
<option value="director">Director name</option>
<option value="actor">Actor name</option>
<!-- Insert function to call server -->
</select>
</div>
</div>
<div class="col-md-4">
<div class="dropdown">
<select id="items" name="items" style="display: none">
<option value=NULL>Filter 2</option>
<option value="year">Year</option>
<option value="director">Director name</option>
<option value="actor">Actor name</option>
</select>
<select id="items2" name="items" style="display: none">
<option value=NULL>Filter 2</option>
<option value="genre">Genre</option>
<option value="director">Director name</option>
<option value="actor">Actor name</option>
</select>
<select id="items3" name="items" style="display: none">
<option value=NULL>Filter 2</option>
<option value="genre">Genre</option>
<option value="year">Year</option>
<option value="actor">Actor name</option>
</select>
<select id="items4" name="items" style="display: none">
<option value=NULL>Filter 2</option>
<option value="genre">Genre</option>
<option value="year">Year</option>
<option value="director">Director name</option>
</select>
</div>
</div>
<div class="col-md-4">
<div class="dropdown">
<select id="filter" name="filter" style="display: none">
<option value=NULL>Filter 3</option>
<option value="2">Director name</option>
<option value="3">Actor name</option>
</select>
</div>
</div>
定義「不工作」。它在哪裏/具體如何失敗?當你調試這個時,它會出錯哪裏?發生了什麼,你期望發生什麼? – David
沒有點擊事件綁定到其他3個選擇。 – Shilly
另外一個建議:如果你更換IDS項目,items2,items3,items4到dropdown_genre,dropdown_year,dropdown_director和dropdown_genre,你的if/else塊可以完全去除,因爲的document.getElementById( '過濾器1')的'價值值'會給你顯示下拉的ID,而不是單獨檢查每個值。 – Shilly