1

5 つのオプトイン チェック ボックスと 1 つの購読解除チェック ボックスがあります。オプトインのチェックボックスをクリックしたときに、オプトインのチェックボックスがどれもチェックされていない場合、購読解除のチェックボックスが自動的にチェックされるはずです。次に、オプトイン ボックスの 1 つをオンにすると、購読解除チェックボックスが自動的にオフになるはずです。

購読解除チェックボックスの自動チェック解除は問題なく機能します。私がうまくいかないのは、オプトインチェックボックスがどれもチェックされていないときに、購読解除チェックボックスが自動的にチェックされることです。

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);オプトインのチェックボックスがチェックされていない場合、回線が実行されないのはなぜですか? オプトインのチェックボックスをすべてオフにしたときに、登録解除ボックスがオンになるようにするにはどうすればよいですか?

4

3 に答える 3

0

jQuery 1.6 以降では attr() の代わりに prop() を推奨:

新しい.prop()関数を使用します。

$jQ('#Unsubscribed').prop('checked', true);
$jQ('#Unsubscribed').prop('checked', false);

attrprop() が利用できなかったため、使用できる jQuery 1.5 以下。

または任意の jQuery を使用できます。

$jQ("#Unsubscribed").removeAttr('checked');
于 2013-11-04T06:48:51.327 に答える
0

両方のifステートメントが評価されていたため、機能していなかったことがわかりましたtrue

于 2013-11-04T06:58:27.097 に答える