Habilitar botón cuando se seleccionan casillas de verificación

Tengo varias casillas de verificación y un botón de enviar que está desactivado inicialmente. Al marcar una casilla, el botón está habilitado y cuando se desmarca, el botón se desactiva nuevamente.

Si tiene varias casillas de verificación seleccionadas, pero desmarque una, el botón se desactiva aunque haya seleccionado otras casillas de verificación. ¿Cómo puedo solucionar este problema?

 $(function() { $(".checkbox").click(function() { $(".delete").attr("disabled", !this.checked); }); });  

HTML

     

 $(function() { $(".checkbox").click(function(){ $('.delete').prop('disabled',$('input.checkbox:checked').length == 0); }); }); 

Demostración: http://jsfiddle.net/AlienWebguy/3U364/

Implemente un contador para rastrear cuántos están marcados, en lugar de simplemente deshabilitar el botón. Agregue 1 cada vez que se marque un casillero, y reste 1 cada vez que se desactive un casillero. Una vez que el contador llega a 0, deshabilite el botón. Cuando cambie a 1, habilite el botón (si cambia a un número mayor, ya habrá sido habilitado, por lo que no necesita habilitarlo cada vez). Muestra:

  

Prueba esto donde básicamente estoy comprobando si todas las casillas de verificación no están marcadas, luego deshabilita el botón.

 $(function() { $(".checkbox").click(function() { $(".delete").attr("disabled", !$(".checkbox:checked").length); }); }); 

Debe verificar el estado de las otras casillas cada vez que se alterne la casilla 1.

Puede construir una matriz de cada checkbox. Luego, revise las pruebas para verificar y salga del ciclo activado (esto es lo que le importa). Si llega al final del ciclo y verifica que todo fuera falso, deshabilite el botón.

Esto evitará que uno deshabilite la desactivación del botón.

Actualmente, solo está marcando esta checkbox en lugar de todas.