我正在尝试检查是否一直选中复选框,但我只是在页面加载时收到警报,而不是在状态发生变化时随时收到警报。
以下是代码:
<script type="text/javascript">
$(function(){
if ($('#myCheckBox').is(':checked')) {
alert('Yes my checkbox is checked');
} else {
alert('No my checkbox is not checked');
};
});
答案 0 :(得分:5)
您必须绑定复选框的“更改”事件:
$('#myCheckBox').change(function() {
if (this.checked) { //if ($(this).is(':checked')) {
alert('Yes my checkbox is checked');
} else {
alert('No my checkbox is not checked');
};
})
单击该复选框后,将执行处理程序。
进一步评价:
答案 1 :(得分: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/
度过愉快的一天!
答案 2 :(得分: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>
它的作用:
现在,这种方法的有趣之处在于它允许以更通用的方式使用changeHandler。由于您在处理程序中使用$(this)而不是$(selector),因此可以使用此函数进行事件委托,如下所示:
$('body').on('change', 'input[type=checkbox]', changeHandler);
这将注册changeHandler以收听整个页面上的所有更改事件复选框。
答案 3 :(得分: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>
答案 4 :(得分:0)
答案 5 :(得分:0)
$('#myCheckBox').click(function() {
if ($('#myCheckBox').is(':checked')) {
alert('Yes my checkbox is checked');
} else {
alert('No my checkbox is not checked');
};
}
答案 6 :(得分:0)
您必须在复选框的更改中调用上述功能
<input type="checkbox" name="myCheckBox" onchange="callCheckBoxChangeFunction()" value="Bike" /> I have a bike<br />