[英]How to properly Hide and Show navigation menu with html, css, and javascript
[英]How to show and hide multiple html selects with dynamic variable properly?
我有一個帶有選項的 select,我們稱之為汽車品牌:
<select id="car-brands">
<option value="noselection">Car Brand</option>
<option value="toyota">TOYOTA</option>
<option value="lexus">LEXUS</option>
</select>
我還有另外 2 個選擇,我們稱它們為汽車模型:
<select id="car-models-toyota" style="display:none;">
<option value="noselection">Car Model</option>
<option value="toyota">AVENSIS</option>
<option value="lexus">CAMRY</option>
</select>
<select id="car-models-lexus" style="display:none;">
<option value="noselection">Car Model</option>
<option value="toyota">AVENSIS</option>
<option value="lexus">CAMRY</option>
</select>
我隱藏了它們,所以當用戶在第一個 select 中選擇 TOYOTA 或 LEXUS 時,汽車模型將按其主題顯示:
$('#car-brands').change(function() {
const brand = $(this).val();
$(`#car-models-${brand}`).show();
});
它正在工作,汽車模型選擇出現,但我不明白如何用這個動態變量隱藏另一個?
I mean I select TOYOTA and #car-models-toyota select
shows up, select LEXUS and #car-models-lexus select
shows up, but when it shows up toyota select
should be hidden.
你能幫我嗎?
您可以通過將所有select
元素首先隱藏在每個第一個select
中, change
事件,然后通過您提供的代碼在 e 上顯示所需的元素來做到這一點。 因此,您所要做的就是使用$('select').not('#car-brands')
對 select 所有選擇(品牌選擇除外),然后使用hide()
將所有選擇隱藏。
所以這應該是這樣的:
$('#car-brands').change(function() {
const brand = $(this).val();
$('select').not('#car-brands').hide();
$(`#car-models-${brand}`).show();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.