您好我选择了jquery复选框时遇到了一些问题。我想在选中复选框时执行任务。我的代码是
$(document).ready(function() {
if ($('#chxGetText').is(':checked')) {
alert("OK");
}
});
<input id="chxGetText" type="checkbox" />
但是当我选中复选框时没有任何反应。有什么想法吗?
答案 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);
});
});