2012-02-17 53 views
1

我想检查是否复选框被随时检查或没有,但我只得到惊动了页面加载的时候,而不是在任何时候状态发生变化。JQuery的检查,如果一个复选框被选中只检查工作的onload

下面是代码:

<script type="text/javascript"> 
    $(function(){ 

     if ($('#myCheckBox').is(':checked')) { 
      alert('Yes my checkbox is checked'); 
    } else { 
      alert('No my checkbox is not checked'); 

    }; 

}); 

+0

的可能重复[我怎样检查是否一个复选框与JQuery的检查?(http://stackoverflow.com/questions/2204867/how-do-i-check-if-a-checkbox-是检查与jQuery)和[当用户标记复选框时触发jquery动作](http://stackoverflow.com/questions/4771050/triggering-a-jquery-action-when-the-users-mark- A-复选框) – 2012-02-17 13:37:55

回答

5

你要绑定的复选框的“改变”事件,您需要bind事件处理程序:

$('#myCheckBox').change(function() { 

    if (this.checked) { //if ($(this).is(':checked')) { 
      alert('Yes my checkbox is checked'); 
    } else { 
      alert('No my checkbox is not checked'); 
    }; 
}) 

选中该复选框被点击,处理程序将被执行。

而且rading:

0

$(someFunction)是jQuery的简写为 “运行此功能,当DOM就绪”。

如果你想让它当复选框与交互运行,(如click

0
$('#myCheckBox').click(function() { 
    if ($('#myCheckBox').is(':checked')) { 
      alert('Yes my checkbox is checked'); 
    } else { 
      alert('No my checkbox is not checked'); 

    }; 
} 
1

尝试:

$('#myCheckBox').change(function(){ 

     if ($('#myCheckBox').is(':checked')) { 
      alert('Yes my checkbox is checked'); 
    } else { 
      alert('No my checkbox is not checked'); 

    }; 

}); 

这会打电话给你函数,在它的状态变化的时间。 http://api.jquery.com/change/

有一个愉快的一天!

0

你要调用上述功能在你的复选框的平变化

<input type="checkbox" name="myCheckBox" onchange="callCheckBoxChangeFunction()" value="Bike" /> I have a bike<br /> 
1

您还需要订阅改变事件:

<script type="text/javascript"> 
    $(function(){ 
     var changeHandler = function() { 
      if ($(this).is(':checked')) { 
      alert('Yes my checkbox is checked'); 
      } else { 
      alert('No my checkbox is not checked'); 
      } 
     }; 

     $('#myCheckbox').change(changeHandler) 
         .trigger('change'); 
    }); 
</script> 

作用:

  1. 使用的onload事件创建一个函数被用作转换事件的事件处理程序
  2. 注册changeHandler的复选框
  3. 触发页面负载变化事件,因此第一次加载页面时,也经营(合成事件)

现在,什么是对这种做法有趣的changeEvent中是,它允许changeHandler以更通用的方式被利用。既然你的处理程序中使用$(本),而不是$(选择),您可以使用此功能事件委托,像这样:

$('body').on('change', 'input[type=checkbox]', changeHandler); 

这将注册changeHandler听所有变化事件复选框在整个页面上。

1
<script type="text/javascript"> 

    $('#myCheckBox').change(function() { 
     if ($(this).is(':checked')) { 
       alert('Yes my checkbox is checked'); 
     } else { 
       alert('No my checkbox is not checked'); 

     }; 
    }); 
    <script>