Я хочу проверить, не снят ли флажок, когда пользователь нажимает на него. Причина этого в том, что я хочу сделать проверку, когда пользователь отключает флажок. Потому что по крайней мере один флажок должен быть проверен. Поэтому, если он отключает последний, он автоматически проверяет себя снова.
С 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');
});
Но это всегда будет показывать сообщение "unchecked". Не совсем то, чего я ожидал...
demo: http://jsfiddle.net/tVM5H/
Итак, мне нужно что-то вроде:
$('#check2').click(function() {
if($(this).not(':checked')) {
// Got unchecked, so something!!!
}
});
Но, очевидно, это не сработает. Я скорее не хочу использовать первый пример, потому что тогда у меня будет ненужное выражение "else", когда мне нужен только оператор "if".
Итак, первое, что это ошибка jQuery? Для меня это неожиданное поведение. И, во-вторых, кто-нибудь может найти хорошую альтернативу?