复选框没有关闭段落

时间:2016-11-09 10:20:12

标签: jquery

我无法弄清楚为什么这不起作用:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        if ($('#check').is(':checked')) {
            $('p').hide(); 
        } else {
            $('p').show(); 
        }
    });
</script>
</head>
<body>
    <input type="checkbox" id="check" />
    <p>If you click on the checkbox, I will disappear.</p>
</body>
</html>

Fiddle

当我点击复选框时,它应隐藏p标签,但它不会... 这应该是如此简单,但事实并非如此:(

3 个答案:

答案 0 :(得分:6)

您只是在加载页面时运行代码。您需要在复选框中添加int wday=[dayofweek intValue]; posx=41*wday; 事件处理程序。另请注意,您可以通过将wday属性值传递给wday方法来简化代码:

change
checked

答案 1 :(得分:0)

我将你的jsfiddle更新为work&amp;利用jquery .change函数。

$(document).ready(function(){

    $('#check').change(function() {
        if ($('#check').is(':checked')) {
            $('p').css("display","none"); 
        }
        else {
            $('p').css("display","block");
        }
    });
});

https://jsfiddle.net/d7d2n0x4/2/

答案 2 :(得分:0)

Try it
//  for protect global scope use closure
(function ($) {
  // document ready
  $(function(){
     // use prop method for checkbox
     if ( $('#check').prop( "checked" ) ) {
       $('p').slideToggle(250);
     }
  });
}(jQuery));