Verwenden Sie das change()Ereignis und den is()Test:
$('input:checkbox').change(
function(){
if ($(this).is(':checked')) {
alert('checked');
}
});
Ich habe das Obige auf Folgendes aktualisiert, weil ich mich dumm auf jQuery (in the if) verlassen habe, wenn die DOM-Eigenschaften gleichermaßen angemessen und auch billiger zu verwenden wären. Außerdem wurde der Selektor geändert, damit er in den Browsern, die ihn unterstützen, an die DOM- document.querySelectorAll()Methode übergeben werden kann:
$('input[type=checkbox]').change(
function(){
if (this.checked) {
alert('checked');
}
});
Der Vollständigkeit halber ist dasselbe auch in einfachem JavaScript leicht möglich:
var checkboxes = document.querySelectorAll('input[type=checkbox]'),
checkboxArray = Array.from( checkboxes );
function confirmCheck() {
if (this.checked) {
alert('checked');
}
}
checkboxArray.forEach(function(checkbox) {
checkbox.addEventListener('change', confirmCheck);
});
Verweise:
$('input type=["checkbox"]')kein gültiger Selektor ist. Es sollte$('input[type=checkbox]')stattdessen sein. Noch besser wäre es aber$('input:checkbox'). ;)