我正在尝试根据您选择的收音机隐藏和显示不同的 div。不幸的是,到目前为止我还没有提出可行的解决方案。这是我的起始代码http://jsbin.com/edokef/1/edit
也许有人可以建议如何实现这一目标?我正在考虑获取每个收音机的索引,但每个收音机都在单独的 div 包装内,在这种情况下,索引始终为 0。
谢谢你的任何想法。
我正在尝试根据您选择的收音机隐藏和显示不同的 div。不幸的是,到目前为止我还没有提出可行的解决方案。这是我的起始代码http://jsbin.com/edokef/1/edit
也许有人可以建议如何实现这一目标?我正在考虑获取每个收音机的索引,但每个收音机都在单独的 div 包装内,在这种情况下,索引始终为 0。
谢谢你的任何想法。
演示:http: //jsbin.com/edokef/7/edit
代码:
options.click(function(){
var id = "opt" + $(this).val();
$(".optDivs").hide();
$("#" + id).show();
});
另外,应该显示的每个 div 现在都有一个类 ( optDivs
)
很抱歉没有为您提供完整的解决方案。
1)为什么要使用索引?每台收音机都有价值。改用那个。
2)“根据您选择的收音机隐藏和显示不同的div”对我来说听起来至少像一对多的关系。我建议为此任务使用发布者/订阅者。这种模式有很多可用的实现,例如。https://github.com/federico-lox/pubsub.js
PS 尽量避免基于 jQuery 的 pubsub 实现(它们在 DOM 上操作并且有点慢)
可能这可以帮助你
$(function(){
(function(){
var options = $('#options').find('input');
options.click(function(){
if($(this).is(':checked'))
{
$('#' + $(this).parent().attr('class')).show();
}
else
{
$('#' + $(this).parent().attr('class')).hide();
}
});
})();
});
这将起作用:
<script>
$(function(){
(function(){
var options = $('#options').find('input');
$(options).click(function(){
$('#opt1, #opt2, #opt3').hide();
$('#' + $(this).parent().attr('class')).show();
});
})();
});
</script>