javascript - 使用单选按钮隐藏-取消隐藏

标签 javascript jquery html

我试图用我的前 2 个 radio 输入(id= Q1 和 id = Q2)取消隐藏 div id=Q3

如果(Q1 = Ja 且 Q2 = Ja)显示 Q3。

有人可以帮帮我吗?

请参阅下面的 html 代码(抱歉,我是个菜鸟,编码不好!)。

HTML

<body>

<header>
    <h2>Helpdesk</h2>
    <div>Wat is u probleem?</div>
</header>

<form>

<h4>Kunt computer normaal aanzetten?<span class = "req" id= "req_Q1">*</span></h4>
<input type="radio" name="A1" id="A1" value ="Ja" /> : Ja<br />
<input type="radio" name="A1" id="A2" value ="Nee" /> : Nee<br />

<p class= "instruct" id="instruct_Q1">
<small>Controleer eerst de kabels!</small>
</p>


<h4 id= "Q2">Geeft de monitor normaal beeld?<span class = "req" id= "req_Q2">*</span> </h4>
<input type="radio" name="A2" id="A3" /> : Ja<br />
<input type="radio" name="A2" id="A4"/> : Nee<br />

<p class= "instruct" id="instruct_Q2">
<small>Controleer eerst de kabels!</small>
</p>
</div>

<div id= "Q3" style="display: none;">
<label for ="Q3.1" ><h4>Start windows normaal op?</h4></label>
<select name="Q3.1">
    <option value="A3.1" >Ja, geen probleem</option>
    <option value="A3.2" >Ja, maar met foutmelding</option>
    <option value="A3.3" >Nee, zwart scherm</option>
    <option value="A3.4" >Nee, blauw scherm</option>
</select>
</div>

<div style="display: none;"> 
<h4>Kunt u inloggen?</h4>
<input type="radio" name="Q4" />Ja, geen probleem<br />
<input type="radio" name="Q4" /> Nee, ik krijg een foutmelding<br />
</div>

<div style="display: none;"> 
<h4>Ik krijg de volgende foutmelding <span class = "req" id= "req_Q5">*</span></h4>
<input type="radio" name="Q5" />Kan u niet aanmelden bij het domein. Controleer of uw gebruikersnaam en/of toegangscode correct zijn.<br />
<input type="radio" name="Q5" />Kan u niet aanmelden omdat het domein niet beschikbaar is. <br />
<input type="radio" name="Q5" />Uw account is geblokkeerd. Neem contact op met de beheerder. <br />
</div>

Javascript

  $("input[name=A1]").click(function() 
  {
  if(this.id =="A1"){
    $("#Q3").show('slow');
  }
  else {
  $("#Q3").hide('slow');
  }
  });

最佳答案

您可以使用三元代替 if 语句来变得更优雅

/* get the status of the answers */
var status = $("#A1").is(':checked') && $("#A3").is(':checked');
/* let the status decide which $ method to use */
$("#Q3")[status ? 'fadeIn' : 'fadeOut'](500);

$("#helpdesk :input").change(function() {
  var status = $("#A1").is(':checked') && $("#A3").is(':checked');
  $("#Q3")[status ? 'fadeIn' : 'fadeOut'](500);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>
  <h2>Helpdesk</h2>
  <div>Wat is u probleem?</div>
</header>

<form id="helpdesk">

  <h4>Kunt computer normaal aanzetten?<span class="req" id="req_Q1">*</span></h4>
  <input type="radio" name="A1" id="A1" value="Ja" /> : Ja<br />
  <input type="radio" name="A1" id="A2" value="Nee" /> : Nee<br />

  <p class="instruct" id="instruct_Q1">
    <small>Controleer eerst de kabels!</small>
  </p>


  <h4 id="Q2">Geeft de monitor normaal beeld?<span class="req" id="req_Q2">*</span> </h4>
  <input type="radio" name="A2" id="A3" /> : Ja<br />
  <input type="radio" name="A2" id="A4" /> : Nee<br />

  <p class="instruct" id="instruct_Q2">
    <small>Controleer eerst de kabels!</small>
  </p>

  <div id="Q3" style="display: none;">
    <label for="Q3.1"><h4>Start windows normaal op?</h4></label>
    <select name="Q3.1">
    <option value="A3.1" >Ja, geen probleem</option>
    <option value="A3.2" >Ja, maar met foutmelding</option>
    <option value="A3.3" >Nee, zwart scherm</option>
    <option value="A3.4" >Nee, blauw scherm</option>
</select>
  </div>

  <div style="display: none;">
    <h4>Kunt u inloggen?</h4>
    <input type="radio" name="Q4" />Ja, geen probleem<br />
    <input type="radio" name="Q4" /> Nee, ik krijg een foutmelding<br />
  </div>

  <div style="display: none;">
    <h4>Ik krijg de volgende foutmelding <span class="req" id="req_Q5">*</span></h4>
    <input type="radio" name="Q5" />Kan u niet aanmelden bij het domein. Controleer of uw gebruikersnaam en/of toegangscode correct zijn.<br />
    <input type="radio" name="Q5" />Kan u niet aanmelden omdat het domein niet beschikbaar is. <br />
    <input type="radio" name="Q5" />Uw account is geblokkeerd. Neem contact op met de beheerder. <br />
  </div>

关于javascript - 使用单选按钮隐藏-取消隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44902117/

相关文章:

javascript - 如何更改 maxlength 参数来验证文本区域,仅考虑字母而不考虑空格?

javascript - 在 IE8 及以下版本中的 HTML5 元素 CSS & Javascript 交互

html - 超过容器宽度的多个内联 div

html - 在 iPad 和 iPhone 上缩放时背景图像模糊

javascript - 循环中的对象解构

javascript - 访问嵌套的 javascript 对象

javascript - ajax方法帖子错误

php - $(document).ready() 什么时候触发?

javascript - 推送事件后来自 serviceWorker 的 PostMessage

javascript - 如何在 Angular 4 react 形式的控件初始化后添加自定义验证?