2011-01-12 113 views
13

简单的HTML & jQuery的jQuery的切换分度,单选按钮

<label><input id="rdb1" type="radio" name="toggler" value="1" />Money</label> 
<label><input id="rdb2" type="radio" name="toggler" value="2" />Interest</label> 

<div id="blk-1" style="display:none"> 
    ... 
</div> 
<div id="blk-2" style="display:none"> 
    ... 
</div> 

$(function() { 
    $("[name=toggler]").each(function(i) { 
     $(this).change(function(){ 
      $('#blk-1, #blk-2').hide(); 
      divId = 'blk-' + $(this).val(); 
      $("#"+divId).show('slow'); 
     }); 
    }); 
}); 

所需的切换效果不工作,虽然。点击一个收音机箱不能隐藏另一个收音机箱。

任何想法?

+0

但您没有隐藏代码中的其他单选按钮,您只是显示其中一个div? – 2011-01-12 21:08:25

+0

你并不需要每一个 – 2011-01-12 21:09:06

回答

27
<label><input id="rdb1" type="radio" name="toggler" value="1" />Money</label> 
<label><input id="rdb2" type="radio" name="toggler" value="2" />Interest</label> 

<div id="blk-1" class="toHide" style="display:none"> 
    money 
</div> 
<div id="blk-2" class="toHide" style="display:none"> 
    interest 
</div> 

$(function() { 
    $("[name=toggler]").click(function(){ 
      $('.toHide').hide(); 
      $("#blk-"+$(this).val()).show('slow'); 
    }); 
}); 

http://www.jsfiddle.net/eKFrW/

1

继承人你想要什么,我认为。要开始,我会选择第一个单选按钮并显示第一个div。然后切换按钮将交换divs

$("input:radio").click(function(){   
    $('#blk-1').toggle(); 
    $('#blk-2').toggle(); 
});