如何在jQuery中使用单选按钮切换div可见性?

如何在jQuery中使用单选按钮切换div可见性?,jquery,toggleclass,Jquery,Toggleclass,我知道这里还有很多类似问题的帖子,但我可以找到一个与多个单选按钮相关的帖子,这些按钮用于在单个页面上切换可见性 我的表单上有一组20个问题,当用户选择“是”时,我希望为该特定问题显示一个文本区域,以便他们可以输入描述 我以前遇到过一个问题,选择“是”单选按钮将切换页面上所有文本区域的可见性,但我尝试使用parent().find('.toggle')来解决这个问题,但它似乎仍然不起作用 你能提供的任何帮助都会很好 Javascript: $('.toggle').hide(); $('.sho

我知道这里还有很多类似问题的帖子,但我可以找到一个与多个单选按钮相关的帖子,这些按钮用于在单个页面上切换可见性

我的表单上有一组20个问题,当用户选择“是”时,我希望为该特定问题显示一个文本区域,以便他们可以输入描述

我以前遇到过一个问题,选择“是”单选按钮将切换页面上所有文本区域的可见性,但我尝试使用
parent().find('.toggle')
来解决这个问题,但它似乎仍然不起作用

你能提供的任何帮助都会很好

Javascript:

$('.toggle').hide();

$('.show').bind('change',function(){

    var showOrHide = ($(this).val() == 1) ? true : false;

    showOrHide.parent().find('.toggle').toggle(showOrHide);

})
HTML:


问题1
不
对

问题2 不 对

在下一行中,将
true
false
分配给
showOrHide
变量:

var showOrHide = ($(this).val() == 1) ? true : false;
然后尝试对该布尔文本调用jQuery方法,显然这是行不通的。请再次使用此。您也可以使用
同级
,而不是升级一个级别:

$(this).siblings('.toggle').toggle(showOrHide);
这是一个例子

另一方面,您可以稍微简化代码,因为
0
1
将强制执行
false
true
,因此您不需要条件语句:

$('.show').bind('change',function() {
    $(this).siblings('.toggle').toggle($(this).val());
});

另外,如果您使用的是最新版本的jQuery(1.7),您应该使用而不是
bind

没问题,很高兴我能提供帮助:)刚刚意识到您提到的最后一个更改不太管用。看见无论您首先选择什么,它都会显示详细信息(即,如果您选择“否”,它将显示详细信息)。
$('.show').bind('change',function() {
    $(this).siblings('.toggle').toggle($(this).val());
});