我试图隐藏一个段落,当复选框未选中时,现在我只能在显示它时进行检查。复选框未选中时无法隐藏段落
这里是我的jQuery:
$('.pharmacy').click(function(){
$('.pcsoc').show();
});
我能做些什么隐藏的段落时,不被选中?
我试图隐藏一个段落,当复选框未选中时,现在我只能在显示它时进行检查。复选框未选中时无法隐藏段落
这里是我的jQuery:
$('.pharmacy').click(function(){
$('.pcsoc').show();
});
我能做些什么隐藏的段落时,不被选中?
绑定到变化事件,而不是:
$('.pharmacy').change(function(e){
$('.pcsoc').toggle();
});
或者你可以检查是否,使自己隐藏/显示(更多防弹)。
$('.pharmacy').change(function(e){
if ($(this).is(':checked'))
$('.pcsoc').show();
else
$('.pcsoc').hide();
});
尝试:
$('.pharmacy').click(function(){
$('.pcsoc').toggle();
});
注意,使用'切换()'可能可能导致选中/取消选中状态走出去与显示/隐藏状态同步。 – 2011-06-01 18:53:41
你需要如果选中或取消选中测试:
$('.pharmacy').click(function(){
if ($(this).is(':checked')) {
$('.pcsoc').show();
}
else $('.pcsoc').hide();
});
编辑它可能会更好布拉德·克里斯蒂的建议绑定到change()
方法。
我喜欢这个。在表单打开时无法预测check_box的状态的可能情况下,弹性更大。 – sscirrus 2011-06-01 18:53:32
你需要将'$(this)'包装在一个jQuery对象中以访问'.is()' – 2011-06-01 18:54:28
您可以检查复选框被选中,并做出适当的反应:
$('.pharmacy').click(function() {
if(this.checked)
$('.pcsoc').show();
else
$('.pcsoc').hide();
});
演示以及:http://jsfiddle.net/bradchristie/TPuB8/ - 和()是这里的版本:http://jsfiddle.net/bradchristie/TPuB8/1/ – 2011-06-01 18:53:28