javascript - 根据选项值显示/隐藏 div

标签 javascript jquery forms show-hide

我刚刚阅读了我能找到的与我遇到的相同问题的所有其他主题,但这对我没有帮助,这就是我在这里发帖的原因。

我试图根据第三个问题的选项值显示其他表单问题。 根据具有相同功能的其他主题,这应该可以正常工作,但对我来说,当我更改值时没有任何反应,并且我找不到任何错误。我还是 JS 的新手。

提前致谢。干杯!

这是我的整个代码:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<link rel="stylesheet" href="style.css" type="text/css"/>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js" ></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.js"></script>‌​

<script>

$("#aktivnost").change(function() {
    if ($(this).val() == "huddle") {
        $(".huddle_q").show();
    }

    if ($(this).val() == "1on1") {
    $(".jnj_q").show();
    }
    else {
        $(".huddle_q", ".jnj_q").hide();
    }
});

</script>

</head>

<body>

<form>

<span>Team Leader:</span> 
<select name="team_leader">
  <option value="dinko_roso"> Dinko Roso </option>
  <option value="lucija_starcevic"> Lucija Starčević </option>
  <option value="natalija_fluka"> Natalija Fluka </option>
  <option value="tamara_zdjelar"> Tamara Zdjelar </option>
  <option value="bojan_brnjac"> Bojan Brnjac </option>
  <option value="andro_vuljanic"> Andro Vuljanić </option>
</select>

<br />

<span>Ocjenjivač:</span>
 <select name="ocjenjivac">
  <option value="dinko_roso"> Branimir Spajić </option>
  <option value="lucija_starcevic"> Ozren Kovačević </option>
  <option value="natalija_fluka"> Dunja Vidak </option>
  <option value="tamara_zdjelar"> Anamaria Katić </option>
  <option value="bojan_brnjac"> Marko Nimac </option>
</select>

<br />

<span>Aktivnost:</span> 
<select id="aktivnost">
  <option value="team_meeting"> Team Meeting </option>
  <option value="1on1"> 1on1 </option>
  <option value="huddle"> Huddle </option>
</select>

<br />

<div class="huddle_q">

<span>Dužina stiskavca:</span>
<input type="radio" name="h_q1" value="0">0</input>
<input type="radio" name="h_q1" value="3">3</input>

<br />

<span>Fokusi:</span>
<input type="radio" name="h_q2" value="0">0</input>
<input type="radio" name="h_q2" value="1">1</input>
<input type="radio" name="h_q2" value="2">2</input>
<input type="radio" name="h_q2" value="3">3</input>

<br />

<span>Parkiranje:</span>
<input type="radio" name="h_q3" value="0">0</input>
<input type="radio" name="h_q3" value="3">3</input>

<br />

<span>Poticanje:</span>
<input type="radio" name="h_q4" value="0">0</input>
<input type="radio" name="h_q4" value="1">1</input>
<input type="radio" name="h_q4" value="2">2</input>
<input type="radio" name="h_q4" value="3">3</input>

<br />

<span>Predstavljanje:</span>
<input type="radio" name="h_q5" value="0">0</input>
<input type="radio" name="h_q5" value="3">3</input>

<br />

<span>Održava atmosferu:</span>
<input type="radio" name="h_q6" value="0">0</input>
<input type="radio" name="h_q6" value="1">1</input>
<input type="radio" name="h_q6" value="2">2</input>
<input type="radio" name="h_q6" value="3">3</input>

</div>

<div class="jnj_q">

<span>Dužina 1on1:</span>
<input type="radio" name="1on1_q1" value="0">0</input>
<input type="radio" name="1on1_q1" value="3">3</input>

<br />

<span>TL prepoznaje i hvali:</span>
<input type="radio" name="1on1_q2" value="0">0</input>
<input type="radio" name="1on1_q2" value="1">1</input>
<input type="radio" name="1on1_q2" value="2">2</input>
<input type="radio" name="1on1_q2" value="3">3</input>

<br />

<span>2QM:</span>
<input type="radio" name="1on1_q4" value="0">0</input>
<input type="radio" name="1on1_q4" value="1">1</input>
<input type="radio" name="1on1_q4" value="2">2</input>
<input type="radio" name="1on1_q4" value="3">3</input>

<br />

<span>Razvoj komp:</span>
<input type="radio" name="1on1_q6" value="0">0</input>
<input type="radio" name="1on1_q6" value="1">1</input>
<input type="radio" name="1on1_q6" value="2">2</input>
<input type="radio" name="1on1_q6" value="3">3</input>

</div>

</form>

</body>
</html>

最佳答案

您的代码在大多数情况下都可以正常工作。您犯的主要错误是您试图在尚不存在的元素上执行代码。您需要 a) 在文档末尾运行代码,或者更常见的是 b) 将代码放入 document.ready 处理程序中。

<强> jsFiddle example

$( document ).ready(function() {
   //your code here
});

请注意,在示例 fiddle 中,我添加了 $('.huddle_q, .jnj_q').hide(); 以在更改下拉列表时首先隐藏元素。

关于javascript - 根据选项值显示/隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25232551/

相关文章:

javascript - javascript从字符串中获取特定文本

javascript - 通知仅在第一次时有效 - AJAX

html - 打开表单列表时自动选择第一个表单

forms - fancybox 2和在同一页面中具有响应的表单

javascript - Firefox 缺少 window.event 的解决方法?

javascript - 正弦波动画未在预期原点发生

javascript - PhoneGap 应用程序的简单登录系统

ruby-on-rails - Ruby on Rails 表单提交错误和成功消息

javascript - 仅选择一个单选按钮后如何向多个输入添加不同的值?

jquery - 如何使用 JSPM 填充 jQuery 插件?