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

时间:2017-07-04 09:28:43

标签: javascript jquery html

我试图用我的前2个无线电输入取消隐藏div id = Q3(id = Q1& id = Q2)

if(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');
  }
  });

3 个答案:

答案 0 :(得分:1)

您可以使用三元而不是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);

&#13;
&#13;
$("#helpdesk :input").change(function() {
  var status = $("#A1").is(':checked') && $("#A3").is(':checked');
  $("#Q3")[status ? 'fadeIn' : 'fadeOut'](500);
});
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

首先要隐藏/取消隐藏你应该使用CSS的元素。 在StackOverflow上有关于它的问题:JavaScript: How to Hide / Unhide <div>

然而,根据我目前的知识来制作IF声明 - 就像你提到的那样:

if(Q1 == Ja&amp;&amp; Q2 == Ja){show Q3}

您需要使用JavaScript。

编辑:Hide/unhide div with button? 我想你的问题可以得到答案:使用JQuery隐藏/取消隐藏 - 当我被谷歌问到时,我发现它很快就可以了。

答案 2 :(得分:0)

看看这个小提琴,让我知道,如果这是理想的结果:-) https://jsfiddle.net/7LL98L24/

$("#helpdesk :input").change(function() {
  if($("#A1").is(':checked') && $("#A3").is(':checked')) {
    $("#Q3").fadeIn(500);
  } else {
    $("#Q3").fadeOut(500);
  }
});

请注意,我在表单元素中添加了一个ID以使用jQuery的.change方法