繁体   English   中英

jQuery单选按钮显示/隐藏

[英]jQuery Radio Button Show/Hide

我正在尝试使用单选按钮来显示和隐藏div,但是无法使下面的内容起作用,任何帮助都很好吗?

    $('input:radio[name="option"]').click(function() {
    if ( $(this).val() == "pop" ) {
        $(this).parent().next('.wrapper').show();
    } else {
        $(this).parent().next('.wrapper').hide();
    }
});

<input name="option" type="radio">
<input name="option" type="radio" value="pop">

<div class="wrapper">text</div>

删除parent() ,因为.wrapper元素与输入处于同一级别。

您还需要nextAll ,而不是next ,因为next仅选择紧随其后的同级项。

工作代码:

$('input:radio[name="option"]').click(function() {
    var $this = $(this);
    if ( $this.val() == "pop" ) {
        $this.nextAll('.wrapper').show();
    } else {
        $this.nextAll('.wrapper').hide();
    }
});

示范

如果只需要后面的第一个.wrapper元素,则可以使用此元素:

$('input:radio[name="option"]').click(function() {
    var $this = $(this), $wrapper = $this.nextAll('.wrapper').eq(0);
    if ( $this.val() == "pop" ) {
        $wrapper.show();
    } else {
        $wrapper.hide();
    }
});

您的.parent().next('wrapper'). 没有什么可抓住的(没有这样的元素)。

这会起作用

$('.wrapper').show();

尝试这个:

$(document).ready(function(){  
    $("input[value='pop']").on("click", function() {
        $(".wrapper").toggle();
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM