单击复选框时检查复选框的选中状态

Checking the checked status of a checkbox upon its click

本文关键字:复选框 状态 检查 单击      更新时间:2023-09-26

我正在尝试测试复选框单击后的状态。

我的问题是,它总是像报告更改事件发生后的状态一样真实,而不是之前。

有没有我可以在改变之前测试一下。

使用jQuery的当前代码-类"package"的所有复选框:

$(".package").click(function(){
    if($(this).is(":checked")){
        alert($(this).attr("checked"));
    }
});

即使选择了当前未选中的复选框,也始终返回true。

编辑:好的,似乎有一些旧的js干扰了这个过程,在清理之后,点击功能确实起了作用。谢谢大家。

在复选框上使用onchange事件不是跨浏览器的(hello IE!是的,即使使用jQuery)。

以下工作:

$('.package').click(function() {
    console.log(this.checked) // There is no need for jQuery here
})

选中复选框时记录"true",取消选中时记录"false"。

说真的,使用$(this).attr('checked')$(this).is(':checked')只是免费的jQueryception。

您可以使用更改事件,这样您就可以确保以前检查的状态始终是您现在读取的的oposite

$(".package").change(function() {
    alert($(this).attr("checked"));
});

点击事件在实际文本框更改发生之前触发,您需要订阅更改事件:

$(".package").change(function(){
    if($(this).is(":checked")){
        alert($(this).attr("checked"));
    }
});

编辑:尝试查询实际的Javascript对象本身,应该可以

$(".package").change(function(){
    if(this.checked){
        alert(this.checked);
    }
});