Javascript 当条件满足时,用jQuery选中一个框

Javascript 当条件满足时,用jQuery选中一个框,javascript,jquery,html,checkbox,conditional-statements,Javascript,Jquery,Html,Checkbox,Conditional Statements,我有五个选择加入复选框和一个取消订阅复选框。当我单击一个opt-in复选框时,如果没有任何opt-in复选框保持选中状态,则应该自动选中unsubscribe复选框。如果我选中其中一个选择加入框,则取消订阅复选框应自动取消选中 自动取消选中“取消订阅”复选框效果很好。我无法工作的是,当没有选中任何选择加入复选框时,自动选中取消订阅复选框 var $jQ = jQuery.noConflict(); $jQ("#Unsubscribed").click(function(event) {

我有五个选择加入复选框和一个取消订阅复选框。当我单击一个opt-in复选框时,如果没有任何opt-in复选框保持选中状态,则应该自动选中unsubscribe复选框。如果我选中其中一个选择加入框,则取消订阅复选框应自动取消选中

自动取消选中“取消订阅”复选框效果很好。我无法工作的是,当没有选中任何选择加入复选框时,自动选中取消订阅复选框

var $jQ = jQuery.noConflict();

$jQ("#Unsubscribed").click(function(event) {
    opt_ins_unchecked = $(":checkbox" ).not('#Unsubscribed').not(':checked').length;
    if (opt_ins_unchecked == 5 && !$jQ("#Unsubscribed").is(':checked')){
        event.preventDefault();

    } else {
            $jQ("input[name=Opt-In_Premium_Content],input[name=Opt-In_Product_Updates],input[name=Opt-In_Industry_Best_Practices],input[name=Opt-In_Events_Webinars],input[name=Opt-In_Education_Training]").attr("checked", false);
    }
});

$jQ("#Opt-In_Premium_Content, #Opt-In_Product_Updates, #Opt-In_Industry_Best_Practices, #Opt-In_Events_Webinars, #Opt-In_Education_Training").click(function() {
    opt_ins_unchecked = $(":checkbox" ).not('#Unsubscribed').not(':checked').length;
    if (opt_ins_unchecked == 5){
        $jQ("#Unsubscribed").attr("checked", true);
    }

    if (opt_ins_unchecked != 0){
        $jQ("#Unsubscribed").attr("checked", false);
    }
});
为什么
$jQ(#Unsubscribed”).attr(“checked”,true)不存在未选中“选择加入”复选框时的行运行?当我取消选中所有选择加入复选框时,如何才能选中取消订阅框?

用于设置选中状态,而不是

试一试

用于设置选中状态,而不是

试一试


jQuery 1.6+推荐的prop()而不是attr():

使用新功能:

$jQ('#Unsubscribed').prop('checked', true);
$jQ('#Unsubscribed').prop('checked', false);
jQuery 1.5及以下版本中,您可以使用
attr
,因为prop()不可用

或者您可以使用任何jQuery:

$jQ("#Unsubscribed").removeAttr('checked');

jQuery 1.6+推荐的prop()而不是attr():

使用新功能:

$jQ('#Unsubscribed').prop('checked', true);
$jQ('#Unsubscribed').prop('checked', false);
jQuery 1.5及以下版本中,您可以使用
attr
,因为prop()不可用

或者您可以使用任何jQuery:

$jQ("#Unsubscribed").removeAttr('checked');

结果证明它不起作用,因为两个
if
语句的计算结果都是
true
结果证明它不起作用,因为两个
if
语句的计算结果都是
true
使用
.prop()
比使用
attr()
@DrixsonOseña更好,所以这不是一个选项。你应该至少使用1.6+。即使下面的答案是更新的LOL,它也不在我的控制范围之内。使用
.prop()
比使用
.attr()
@DrixsonOseña更好。我使用的是jQuery 1.2.4,所以这不是一个选项。这很旧,您至少应该使用1.6+。尽管如此,下面的答案还是更新了。哈哈,这是我无法控制的。