Chcę sprawdzić, czy pole wyboru właśnie zostało odznaczone, gdy użytkownik kliknie. Powodem tego jest to, że chcę zrobić sprawdzanie poprawności, gdy użytkownik odznaczy pole wyboru. Ponieważ przynajmniej jeden checkbox musi zostać sprawdzony. Jeśli więc odznacza ostatnią, automatycznie sprawdza się ponownie.Sprawdź, czy pole wyboru NIE jest zaznaczone po kliknięciu - jQuery
z jQuery można łatwo dowiedzieć się pogoda to sprawdzone czy nie:
$('#check1').click(function() {
if($(this).is(':checked'))
alert('checked');
else
alert('unchecked');
});
ale faktycznie tylko chcą mieć if, który sprawdza, czy pole wyboru właśnie dostał niezaznaczone.
więc myślałem, że może to zrobić za pomocą następującego kodu:
$('#check2').click(function() {
if($(this).not(':checked'))
alert('unchecked');
else
alert('checked');
});
Ale to zawsze pojawi się komunikat „niesprawdzony”. Nie jest to, co spodziewałem się ...
demo:http://jsfiddle.net/tVM5H/
Więc w końcu muszę coś takiego:
$('#check2').click(function() {
if($(this).not(':checked')) {
// Got unchecked, so something!!!
}
});
Ale oczywiście to nie działa. Raczej nie chcę używać pierwszego przykładu, ponieważ wtedy miałbym niepotrzebne "else", gdy potrzebuję tylko jednego wyrażenia "if".
Po pierwsze, czy jest to błąd jQuery? To dla mnie nieoczekiwane zachowanie. Po drugie, czy ktoś jest dobrym kandydatem na alternatywę?
bardzo prosta - nie zaznaczone – Binod