Jquery验证复选框搞砸了?

时间:2011-06-23 15:46:31

标签: javascript jquery checkbox

知道为什么这段代码一直在说并且不能按预期工作?

$('#myCheckbox').click(function() {
    if ( $('#myCheckbox').attr('checked')) {
        alert("on");
    } else {
        alert("off");
    }
});

这里的例子

http://jsfiddle.net/BFf5H/

3 个答案:

答案 0 :(得分:4)

1)使用prop添加到jQuery 1.6(我猜)

$('#myCheckbox').click(function() {
    if ( $(this).prop('checked')) {
        alert("on");
    } else {
        alert("off");
    }
});

2)用于检查状态

试试这个:

$('#myCheckbox').click(function() {
        if ( $(this).is(':checked')) {
            alert("on");
        } else {
            alert("off");
        }
    });

工作示例:http://jsfiddle.net/BFf5H/2/

3)@Felix的建议 试试这个:

$('#myCheckbox').click(function() {
        if ( this.checked) {
            alert("on");
        } else {
            alert("off");
        }
    });

编辑:

根据OP备用解决方案提供的URL:

$(".styled").change(function(){
  if(this.checked){
   alert("On");
  } else {
   alert("Off");
  }
})

答案 1 :(得分:1)

尝试:

$('#myCheckbox').click(function() {
    if ( $(this).is(':checked')) {
        alert("on");
    } else {
        alert("off");
    }
});

答案 2 :(得分:0)

<html>

    <head>

        <script src="http://www.google.com/jsapi" type="text/javascript"></script>
        <script type="text/javascript">google.load("jquery", "1");</script>
        <script type="text/javascript">

            $(document).ready(
                function() 
                {
                    $('#myCheckbox').click(
                        function() 
                        {   
                            if( $(this).attr('checked') == 'checked' )
                            {
                                alert('yes');
                            }
                            else
                            {
                                alert('no');
                            }
                        }
                    );
                }
            );

        </script>

    </head>

    <body>

        <input type="checkbox" checked="checked" id="myCheckbox" />

    </body>

</html>

Download this solution