选中了jquery复选框

时间:2010-04-15 06:54:25

标签: jquery

您好我选择了jquery复选框时遇到了一些问题。我想在选中复选框时执行任务。我的代码是

$(document).ready(function() {
        if ($('#chxGetText').is(':checked')) {
            alert("OK");
        }
    });

<input id="chxGetText" type="checkbox" />

但是当我选中复选框时没有任何反应。有什么想法吗?

5 个答案:

答案 0 :(得分:2)

您需要将事件侦听器绑定到复选框的change事件。现在,您只检查页面加载时是否选中了复选框,即一次。

$(function() {
 $('#chxGetText').change(function() {
  if ($(this).is(':checked')) {
   alert('OK');
  } else {
   alert('Not OK');
  };
 }).trigger('change'); // trigger it on page load as well
});

请注意,您应该在页面加载时触发事件,以防用户在选中复选框后刷新页面(因此我的代码中为.trigger('change'))。

答案 1 :(得分:2)

您没有为元素分配事件,请尝试:

$(document).ready(function() {
  $('#chxGetText').click(function(){
    if ($(this).is(':checked')) {
     alert("OK");
    }
  });
});

答案 2 :(得分:0)

:checked只是一个选择器,它不绑定任何事件侦听器。做这样的事情:

$(document).ready(function() {
    $('#chxGetText').change( function (e) {
       if($(this).is(':checked')) {
          alert('Checked');
       }
       else {
          alert('Unchecked');
       }
    });
});

<input id="chxGetText" type="checkbox" />

答案 3 :(得分:0)

您可以使用

之类的代码
jQuery("#chxGetText").click(function() {
    if ($(this).is(':checked')) {
        alert("#chxGetText is checked");
    }
    else {
        alert("#chxGetText is unchecked");
    }
});

答案 4 :(得分:-1)

您需要为复选框的onclick事件分配事件处理程序。您的当前代码仅在文档加载时运行一次,并且在此之后不会对任何状态更改做出反应。

<input id="chxGetText" type="checkbox" />

function checkState(node) {
    if (node.checked) {
        alert("OK");
    }
}

$(document).ready(function() {
    $('#chxGetText').click(function() {
        // Bind checkState to click event
        checkState(this);
    }).each(function() {
        // Initial check on load
        checkState(this);
    });
});