Uso caso change()
, y la prueba de is()
:
$('input:checkbox').change(
function(){
if ($(this).is(':checked')) {
alert('checked');
}
});
He actualizado lo anterior, a lo siguiente, debido a mi tonta dependencia de jQuery (en el if
) cuando las propiedades DOM serían igualmente apropiadas y también más económicas de usar. También el selector se ha cambiado, con el fin de permitir que se aprobó, en aquellos navegadores que lo soportan, a document.querySelectorAll()
método del DOM:
$('input[type=checkbox]').change(
function(){
if (this.checked) {
alert('checked');
}
});
En aras de finalización, lo mismo que también es fácilmente posible en llanura JavaScript:
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);
});
Referencias:
El problema es que '$ ('input type = [ "casilla de verificación"]')' no es un selector válido. Debería ser '$ ('input [type = checkbox]')' en su lugar. Aún mejor sería '$ ('input: checkbox')'. ;) – CptRobby