Ich möchte prüfen, ob ein Kontrollkästchen gerade deaktiviert wurde, wenn ein Benutzer darauf klickt. Der Grund dafür ist, dass ich eine Validierung durchführen möchte, wenn ein Benutzer ein Kontrollkästchen deaktiviert. Weil mindestens ein Kontrollkästchen aktiviert sein muss. Wenn er also die letzte abhebt, überprüft er sich automatisch erneut.Überprüfen Sie, ob das Kontrollkästchen bei Klick nicht aktiviert ist - jQuery
Mit jQuery kann ich leicht herausfinden, ob es aktiviert ist oder nicht:
$('#check1').click(function() {
if($(this).is(':checked'))
alert('checked');
else
alert('unchecked');
});
Aber ich möchte eigentlich nur eine if-Anweisung haben, wenn eine Checkbox deaktiviert ist jetzt noch überprüft. So
ich dachte ich, dass mit dem folgenden Code tun könnte:
$('#check2').click(function() {
if($(this).not(':checked'))
alert('unchecked');
else
alert('checked');
});
Aber das wird immer zeigen die ‚unkontrollierte‘ betätigen. Nicht wirklich das, was ich erwartet hatte ...
Demo:http://jsfiddle.net/tVM5H/
So schließlich brauche ich so etwas wie:
$('#check2').click(function() {
if($(this).not(':checked')) {
// Got unchecked, so something!!!
}
});
Aber offensichtlich funktioniert das nicht. Ich möchte das erste Beispiel lieber nicht verwenden, denn dann hätte ich eine unnötige "else" -Anweisung, wenn ich nur eine "if" -Anweisung benötige.
Also zuerst, ist das ein jQuery-Bug? Ursache für mich ist unerwartetes Verhalten. Und zweitens, irgendjemand irgendwelche Ideale für eine gute Alternative?
sehr einfach - NICHT aktiviert – Binod