jquery - 根据选择隐藏元素但加载值

标签 jquery

我有这样的设置:

<select id="status" name="status">
  <option value="1" selected="selected">1</option>
  <option value="2">2</option>
</select>

<div id="additional_information" class="hidden">
  Additional information
</div>
<小时/>
var val = $("#status option:selected").val();

if (val == '1') {
  $('#additional_information').removeClass('hidden');
} else {
  $('#additional_information').addClass('hidden');
}

当页面打开时,jQuery 读取该值并显示或隐藏隐藏的 div。 但如果我更改选择选项,它就不会再得到更改。

如何使其工作,以便在页面加载时加载值,然后每次用户在 select 中选择选项时相应地更改它?

<强> JSFIDDLE Example

最佳答案

这里我使用了change事件并触发了它的onload

使用 toggleClass 简化了代码

$(function() {
  $("#status").on("change", function() {
    // hide if this.value == 2 or use !=1 if there are more than 2 options
    $('#additional_information').toggleClass('hidden', this.value == 2); 
  }).change(); // trigger to hide or show on load
})
.hidden {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="status" name="status">
  <option value="1" selected="selected">1</option>
  <option value="2">2</option>
</select>

<div id="additional_information" class="hidden">
  Additional information
</div>

关于jquery - 根据选择隐藏元素但加载值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41939450/

相关文章:

jquery - 从无效的输入字段中获取 jQuery 值

javascript - JQuery 使用全局变量链接标题

javascript - jquery 插入数据到下一行

javascript - PHP中的音频警报

javascript - JQuery 快速转储对象的成员

javascript - 使用jquery获取元素节点数

javascript - 正则表达式 jquery 验证器中字符类的范围乱序

javascript - 在表单提交时禁用 Jquery UI 按钮

jquery - 如何在警报中正确串联消息

javascript - 在 ASP.Net MVC 中显示数据保存成功消息