[英]jQuery Click Function: Show Div Based on Previous Radio Button Selection
我整天都在寻找答案,但似乎找不到任何可以帮助我解决特定问题的东西,因此请继续。
在一个问题表单中,我想使用jQuery click()函数基于单选按钮选择显示隐藏的div。 但是,在触发第二个click()事件后,先前选择中显示的div被忘记,并返回到隐藏状态。
这是示例代码:
jQuery(document).ready(function(){ jQuery('input[type="radio"]').click(function(){ if(jQuery(this).attr("value")=="answer1"){ jQuery(".hide").hide(); jQuery(".answer1").show(); jQuery(".answer1and2").show(); } if(jQuery(this).attr("value")=="answer2"){ jQuery(".hide").hide(); jQuery(".answer2").show(); jQuery(".answer1and2").show(); } if(jQuery(this).attr("value")=="answer3"){ jQuery(".hide").hide(); jQuery(".answer1and2").show(); jQuery(".answer3").show(); } }); });
.hide { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <h1>Question 1</h1> <input type="radio" name="question1" value="answer1"> Answer 1 <input type="radio" name="question1" value="answer2"> Answer 2 <div class="answer1 hide"> <p>Answer 1 is Apple</p> </div> <div class="answer2 hide"> <p>Answer 2 is Mango</p> </div> <div class="answer1and2 hide"> <h1>Question 2</h1> <input type="radio" name="question2" value="answer3"> Any answer <input type="radio" name="question2" value="answer3"> Any answer </div> <div class="answer3 hide"> <p>Did you choose Apple or Mango?</p> </div>
如何只保留第一次选择后显示的答案之一?
如果您不希望再次隐藏显示的div,则只需从获得“显示”的项目中删除“隐藏”类
这是JSFiddle
这是如何执行此操作的示例行:
jQuery(".answer1").show().removeClass('hide');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.