JQuery如果选中复选框,则选中仅在加载时进行检查

JQuery Check if a checkbox is checked checking only working onload

本文关键字:加载 进行检查 如果 复选框 JQuery      更新时间:2023-09-26

我一直在尝试检查复选框是否被选中,但我只在页面加载时收到警报,而不是在状态更改时收到警报。

这是代码:

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

您必须绑定复选框的"更改"事件:

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

单击复选框时,将执行处理程序。

进一步辐射:

  • .change()

try:

$('#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/

祝你今天愉快!

   <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>

您还需要订阅更改事件:

<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注册到复选框的changeEvent
  3. 在页面加载时触发更改事件,以便在首次加载页面时也运行该事件(合成事件)

现在,这种方法的有趣之处在于,它允许以更通用的方式使用changeHandler。由于在处理程序中使用$(this)而不是$(selector),因此可以使用此函数进行事件委派,如下所示:

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

这将注册changeHandler来侦听所有将事件更改为整个页面上的复选框。

$(someFunction)是jQuery中"在DOM就绪时运行此函数"的缩写。

如果您希望它在与复选框交互时运行,则需要绑定一个事件处理程序(如click

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

您必须在更改复选框时调用上述函数

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