我想检查一个复选框是否刚刚被取消选中,当用户点击它时。这样做的原因是因为我想在用户取消选中复选框时进行验证。因为至少需要选中一个复选框。因此,如果他取消选中最后一个,那么它会自动再次检查自己。
使用 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 错误吗?因为对我来说这是出乎意料的行为。其次,有人有什么好的选择吗?