jquery - 单击选项时显示隐藏字段

标签 jquery html css

我在这个表单中有一个表单我有一个带有多个选项的选择标签检查它:

<select class="form-control" name="footerLayout">
    <option value="1">1 column</option>
</select>

我想要实现的是,当我单击某个字段时,某个 div 将显示。在这种情况下,如果我单击第一个字段,它应该会显示隐藏的 div。

看看我是如何尝试的:

$('[name=footerLayout]').click(function() {
    $(".column-1").toggle("slow");
});

当我点击 footerLayout 选项 1 时,它应该会显示隐藏的 .column-1 类。我知道这是错误的,但这是我到目前为止得到的结果。

如果有人能给我指出正确的方向,那就太好了。

最佳答案

您可以使用 .val() 获取选定的值,通过字符串连接创建一个有效的选择器并使用执行所需的操作。由于需要显示隐藏的div,所以需要使用.show()

$('[name=footerLayout]').change(function() {
    var selector = ".column-" + $(this).val();
    $(selector).show();
});

根据评论 ,如果您单击选项 2,我希望将来显示一个名为 .column-2 的隐藏 div

我建议您使用一个包含所有列的通用类,例如 column,然后您可以使用 .hide()Class Selector (“.class”)

$('[name=footerLayout]').change(function() {        
    var selector = ".column-" + $(this).val(); //Create selector        
    $(".column").not(selector).hide(); //Hide others        
    $(selector).show();//Show column based on selected value
});

jQuery(function($) {
  $('[name=footerLayout]').change(function() {
    var selector = ".column-" + $(this).val(); //Create selector        
    $(".column").not(selector).hide(); //Hide others        
    $(selector).show(); //Show column based on selected value
  });
});
.column{display:none}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" name="footerLayout">
  <option value="1">1 column</option>
  <option value="2">2 column</option>
</select>

<div class="column column-1">div 1</div>
<div class="column column-2">div 2</div>

关于jquery - 单击选项时显示隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40256366/

相关文章:

jquery - 将 codepen 网站移植到 github 页面 - 折叠的导航按钮不起作用

html - Bootstrap - 修复了导航栏不符合预期的问题?

jquery - 在 jQuery 中添加 inset 到 box-shadow 属性以动态更新

css - Bootstrap 4 : Cards: How do I make horizontal repeating cards in three columns

html - 如何阻止嵌套列表从父列表继承样式?

javascript - 我如何让我的应用程序显示错误消息而不是损坏的图像链接?

javascript - 单击 anchor 链接时如何忽略滚动,否则会听到滚动?

jquery - 尝试使用 jquery ajax 和 jersey 作为 json POST 到 RESTful Web 服务

html - <div> 包含 <ul> 的背景色

javascript - 基于自定义数据属性的产品过滤