jquery单选按钮显示/隐藏

ton*_*lfx 0 jquery radio-button

我有3个单选按钮.
*如果单击电子邮件按钮将仅显示电子邮件文本框
*如果单击集合将仅显示集合文本框并隐藏其他div.我怎么做?下面的代码似乎只显示但更改后无法隐藏!

<input type="radio" name="d_method" class="c_email"/>Email   
<input name="d_method" type="radio" class="c_collection"/>Colletion 
<input name="d_method" type="radio" class="c_post"/>Post
Run Code Online (Sandbox Code Playgroud)

和3个带id的隐藏div:

<div id="c_email" style="display:none;">
  email textbox
</div>
<div id="c_collection" style="display:none;">
  collection textbox
</div>
<div id="c_post" style="display:none;">
  post textbox
</div>
Run Code Online (Sandbox Code Playgroud)

和jquery:

$('.c_email').change(function() {
        $('#c_email').stop().fadeIn();
    }, function(){
        $('#c_email').stop().hide();
    })
    $('.c_collection').change(function() {
        $('#c_collection').stop().fadeIn();
    }, function(){
        $('#c_collection').stop().hide();
    })
    $('.c_post').change(function() {
        $('#c_post').stop().fadeIn();
    }, function(){
        $('#c_post').stop().hide();
    })
Run Code Online (Sandbox Code Playgroud)

Mar*_*man 5

你可以干脆做

$(':radio').change(function() {
    var itemSelector = '#' + $(this).attr('class');
    $('div').stop().fadeOut(function() {
        $(itemSelector).fadeIn();
    });
});
Run Code Online (Sandbox Code Playgroud)

这完全基于您的约定,即类名与您的ID相同 <div>