最佳答案
我想要检查一个复选框是否没有被选中,当用户点击它的时候。这是因为我想在用户取消选中复选框时进行验证。因为至少需要选中一个复选框。所以如果他取消检查最后一个,然后自动检查本身。
使用 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');
});
但是这总是显示“未经检查”的信息。不是我真正期待的..。
Demo: < a href = “ http://jsfiddle.net/tVM5H/”rel = “ norefrer”> http://jsfiddle.net/tvm5h/
所以最终我需要这样的东西:
$('#check2').click(function() {
if($(this).not(':checked')) {
// Got unchecked, so something!!!
}
});
但显然这样不行。我不想使用第一个例子,因为那样我就会有一个不必要的“ else”语句,而我只需要一个“ if”语句。
首先,这是一个 jQuery 错误吗?因为对我来说这是意想不到的行为。其次,有人想到更好的选择吗?