【发布时间】:2011-01-12 21:01:14
【问题描述】:
简单的 html 和 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');
});
});
});
但所需的切换效果不起作用。单击一个单选框无法隐藏另一个。
有什么想法吗?
【问题讨论】:
-
但您并没有在代码中隐藏另一个单选按钮,您只是显示其中一个 div?
-
你的代码适合我:jsfiddle.net/Reqyx(正如其他人所说,你不需要
.each()。此外,你应该用var声明你的变量。) -
这里不用
.each(),可以写成("[name=toggler]").change(...) -
我试过了,它按预期工作。