jquery 启动复选框检查未按预期工作

jquery launch checkbox check not working as expected

我有这个代码:

$(document).ready(function() {

        $("input[type='checkbox']").click();

        $("input[type='checkbox']").change(function(e) { 

            if ( $("input[type='checkbox']").is(":checked") === true ) 
            {
                $("textarea").val("");
                $("textarea").prop("placeholder", "");  
                $("textarea").prop("disabled", true);
            }
            else
            {
                $("textarea").prop("disabled", false);
                $("textarea").prop("placeholder", "Write here"); 
            }

        }); //checkbox .change()

    });

加载页面时会发生点击事件,但不会启动更改事件。

对吗?还是我做错了什么?

谢谢。

尝试更改:

 if ( $("input[type='checkbox']").is(":checked") === true )

if (this.checked ) 

您是在点击复选框后设置事件。而且你应该在事件中使用 "this":

$(document).ready(function() {



    $("input[type='checkbox']").change(function(e) { 

        if ( $(this).is(":checked") === true ) 
        {
            $("textarea").val("");
            $("textarea").prop("placeholder", "");  
            $("textarea").prop("disabled", true);
        }
        else
        {
            $("textarea").prop("disabled", false);
            $("textarea").prop("placeholder", "Write here"); 
        }

    }); //checkbox .change()

    $("input[type='checkbox']").click();
});

点击时您还没有附加事件。在写完事件定义后写下你的$("input[type='checkbox']").click();。尝试与

相同的代码
$(document).ready(function() {        

    $("input[type='checkbox']").change(function(e) { 
        alert("Yes event triggered now");
        if ( $(this).is(":checked") === true ) 
        {
            $("textarea").val("");
            $("textarea").prop("placeholder", "");  
            $("textarea").prop("disabled", true);
        }
        else
        {
            $("textarea").prop("disabled", false);
            $("textarea").prop("placeholder", "Write here"); 
        }

    }); //checkbox .change()

$("input[type='checkbox']").click();
});