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

时间:2015-03-06 12:23:59

标签: jquery events checkbox

我有这段代码:

$(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()

    });

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

这是对的吗?或者我做错了什么?

谢谢。

3 个答案:

答案 0 :(得分:2)

单击复选框后,您正在设置事件。你也应该使用"这个"在活动中:

$(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();
});

答案 1 :(得分:1)

尝试更改:

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

if (this.checked ) 

答案 2 :(得分:0)

点击时您没有附上活动。编写事件定义后写下$("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();
});