我还是新手,所以是的...基本上,我有这个下拉元素,该元素中的每个选项都应该指向另一个问题(对应于选项的主题),但是一旦选择了该选项,其他不相关的div就会被隐藏。
所以从第1节开始 - 如果选择了运动,那么它将指向#section2而其他div被隐藏,因为它们是无关的。
我不知道如何启动它,使用javascript - 我知道它涉及函数ShowItem()而不使用jquery。所以,我想知道是否有人可以伸出援助之手?
html代码:
<form id="survey" action="#" method="post">
<div id="section1">
<label for="color">What is your hobby?</label>
<select id="hobby" onchange="selection()">
<option value="sports">sports</option>
<option value="reading">reading</option>
<option value="watching">watching movies</option>
</select>
</div>
<div id="section2">
What is your favourite sports?<br>
<label for="netball">netball</label><input type="radio" id="netball">
<label for="football">football</label><input type="radio" id="football">
<label for="baseball">baseball</label><input type="radio" id="vegetarian">
</div>
<div id="section3">
What is your favourite genre?<br>
<label for="crime">crime</label><input type="radio" id="crime">
<label for="fantasy">fantasy</label><input type="radio" id="fantasy">
<label for="scifi">sci fi</label><input type="radio" id="scifi">
</div></form>
我忘了添加css位:
#section2, #section3 {
display:none; border:1px solid gray; padding:8px; margin-top:12px; width:400px;
}
答案 0 :(得分:1)
使用此
function selection()
{
var vHobby = $("#hobby").val();
if(vHobby == 'sports')
{
$("#section2").show();
$("#section1, #section3").hide();
}
if(vHobby == 'reading')
{
$("#section1").show();
$("#section2, #section3").hide();
}
}
答案 1 :(得分:0)
您可以像这样管理
$(document).ready(function(){
$("#hobby").change(function () {
var str = "";
$("select option:selected").each(function () {
if ( $(this).text()=='sports' )
{
$("#section2").show();
$("#section1").hide();
$("#section3").hide();
}
if ( $(this).text()=='reading' )
{
$("#section1").show();
$("#section2").hide();
$("#section3").hide();
}
});
})
});