javascript - 通过选中单选按钮显示一个 div 并隐藏另一个 div

标签 javascript jquery html

我正在尝试学习如何使用 jquery 来显示/隐藏依赖于值的元素。我不确定 .show/.hide 是否是正确的选择,因此任何帮助将不胜感激......

这是我在 jsfiddle 上的示例我有 2 个单选按钮和 2 个 div。

我希望 Jquery 通过 checked 单选按钮的依赖项显示单个 div,因此它将显示选中的那个。

HTML:

 <input type="radio" name="one" value="01" checked> Male<br>
 <input type="radio" name="two" value="02"> Female<br>

<div class="showhide">
show me when 01 is checked.
</div>

<div class="showhide">
show me when 02 is checked.
</div>

JQuery(尝试了解此处要做什么):

$("div.showhide").hide();
$("div.showhide").show();

// or maybe with:

$("div.showthis").toggle(this.checked);

最佳答案

使用 data-* 属性在此类实践中会派上用场。请记住,radios name 属性必须相同,以便在任何给定时间只能选中一个复选框。而且,您的代码中没有 p 标记,至少在提供的示例中是这样,那么为什么还要为选择器添加前缀呢?

以下示例使用 data-section 属性,该属性具有选中复选框时必须显示的元素的选择器。值得一提的是,这是动态代码,在使用 div 添加更多输入时不需要更改代码。

$(function() {
    
    // listen for changes
    $('input[type="radio"]').on('change', function(){
        
        // get checked one            
        var $target = $('input[type="radio"]:checked');
        // hide all divs with .showhide class
        $(".showhide").hide();
        // show div that corresponds to selected radio.
        $( $target.attr('data-section') ).show();

    // trigger the change on page load
    }).trigger('change');

});
.showhide {  
   display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input type="radio" name="one" data-section="#div-1" value="01" checked>Male<br>
<input type="radio" name="one" data-section="#div-2" value="02">Female<br>

<div id="div-1" class="showhide">
show me when 01 is checked.
</div>
<div id="div-2" class="showhide">
show me when 02 is checked.
</div>

关于javascript - 通过选中单选按钮显示一个 div 并隐藏另一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44577138/

相关文章:

javascript - 使用 JQuery 获取日期中最后一天的有效值

javascript - 在 Javascript 中检测已提交的表单

javascript - 如何在折叠展开时垂直堆叠导航栏元素

javascript - 在 JavaScript 中输出 ASP.NET 模型

javascript - 完全禁用手持设备

javascript - 事件处理程序在外​​部 JS 文件中不起作用?

javascript - 二分键的数据/逻辑结构(JS)

javascript - 当元素放置在盒子顶部时更改盒子的背景颜色

javascript - 按钮的 OnClick 在新窗口中显示一个 div(及其 CSS 属性)

jquery - 在设定的时间段内显示/隐藏 div