[英]Show/hide dropdown 2 or dropdown 3 based on selected option from dropdown 1
[英]Show text based on option selected in dropdown
我有一個如下所示的下拉菜單。
<label for="form_name">Title</label>
<select class="bootstrap-select">
<option value="1" selected="selected">Feature 1</option>
<option value="2">Feature 2</option>
<option value="3">Feature 3</option>
<option value="4">Feature 4</option>
</select>
<div><p>Text1</p></div>
<div><p>Text2</p></div>
<div><p>Text3</p></div>
<div><p>Text4</p></div>
我打算選擇功能1時,顯示文本1,文本2時特征2被選擇等。
關於如何使用 JS(或 jQuery)執行此操作的任何想法?
PS 大多數現有的解決方案需要輸入字段而不是選項字段,或者我可能太菜鳥。 xD
為p
標簽指定id
作為options
的value
,並在所選選項的值等於p
的id
時顯示 p 標簽
$('p').hide(); $('#1').show(); $('select').change(function() { $('p').hide(); var a = $(this).val(); $("#" + a).show(); })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label for="form_name">Title</label> <select class="bootstrap-select"> <option value="1" selected="selected">Feature 1</option> <option value="2">Feature 2</option> <option value="3">Feature 3</option> <option value="4">Feature 4</option> </select> <div> <p id="1">Text1</p> </div> <div> <p id="2">Text2</p> </div> <div> <p id="3">Text3</p> </div> <div> <p id="4">Text4</p> </div>
使用純 javascript
let select = document.querySelector("select"); let divs = document.querySelectorAll("div"); let result = document.querySelector("#result"); function func1(par){ result.innerText = divs[par - 1].innerText; }
div:not(#result) { display:none; }
<label for="form_name">Title</label> <select class="bootstrap-select" onchange="func1(this.value)"> <option value="1" selected="selected">Feature 1</option> <option value="2">Feature 2</option> <option value="3">Feature 3</option> <option value="4">Feature 4</option> </select> <div><p>Text1</p></div> <div><p>Text2</p></div> <div><p>Text3</p></div> <div><p>Text4</p></div> <div id="result"></div>
function display(){ var e = document.getElementById("dropDownId"); var index = e.selectedIndex; if(index==0){ document.getElementById("first").style.display = 'block' document.getElementById("second").style.display = 'none' } else if(index==1){ document.getElementById("first").style.display = 'none' document.getElementById("second").style.display = 'block' } }
<label for="form_name">Title</label> <select class="bootstrap-select" id="dropDownId" onchange="display()"> <option value="1" selected="selected">Feature 1</option> <option value="2">Feature 2</option> </select> <div id="first"><p>Text1</p></div> <div id="second" style="display: none;"><p>Text2</p></div>
請運行此代碼段..並檢查您的解決方案..
您可以在要顯示的div
上使用ids
,並使用您select
的 id 更改select
的value
$("#select-panel").change(function(){ updateDisplay(); }) function updateDisplay(){ var idToShow = $("#select-panel").find(":selected").val() || "div1"; $(".subcontent").each(function(){ $(this).css("display",$(this).is("#"+idToShow) ? 'block' : 'none'); }) } updateDisplay();
.subcontent{ display:none; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select id="select-panel"> <option value="div1">1</option> <option value="div2">2</option> </select> <div id="div1" class="subcontent">Text 1</div> <div id="div2" class="subcontent">Text 2</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.