jquery - 检查复选框是否在点击时未被选中 - jQuery

标签 jquery

我想检查当用户点击一个复选框时它是否刚刚被取消选中。这样做的原因是因为我想在用户取消选中复选框时进行验证。因为至少需要选中一个复选框。因此,如果他取消选中最后一个,那么它会自动再次检查自己。

使用 jQuery 我可以很容易地找出它是否被选中:

$('#check1').click(function() {
    if($(this).is(':checked'))
        alert('checked');
    else
        alert('unchecked');
});

但实际上我只想有一个 if 语句来检查复选框是否刚刚被取消选中。

所以我想我可以用下面的代码来做到这一点:

$('#check2').click(function() {
    if($(this).not(':checked'))
        alert('unchecked');
    else
        alert('checked');
});

但这将始终显示“未检查”消息。不是我所期待的...

演示: http://jsfiddle.net/tVM5H/

所以最终我需要这样的东西:

$('#check2').click(function() {
    if($(this).not(':checked')) {
        // Got unchecked, so something!!!
    }
});

但显然这是行不通的。我宁愿不想使用第一个例子,因为当我只需要一个“if”语句时,我会有一个不必要的“else”语句。

首先,这是一个 jQuery 错误吗?因为对我来说这是意想不到的行为。其次,有人有好的替代方案吗?

最佳答案

试试这个:

if(!$(this).is(':checked'))

demo

关于jquery - 检查复选框是否在点击时未被选中 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11159221/

相关文章:

javascript - 单向滚动 : horizontal OR vertical

javascript - div 100% 页面高度,无垂直滚动

javascript - 在循环中多次使用 .trigger

jquery - 将只读添加到 jQuery 中的输入字段

javascript - 购物车数据未使用 ajax 在 shopify 中更新

jquery - 使用 jQuery 从元素选择中获取属性值作为数组

javascript - 如何使用 Javascript 或 jQuery 将输入类型复选框存储到 json 对象中?

php - 如何将当前文本替换/转换为所需的形式?

javascript - 如何使用 JQuery 使音频仅播放一次?

Javascript处理2数据属性