Jquery sélectionnez tous si pas désactivé

J'utilise le script suivant pour sélectionner toutes les cases à cocher avec une classe donnée.

$(document).ready(function(){ //1
    //2
    $(':checkbox.selectall').on('click', function(){
        //3
        $(':checkbox[class='+ $(this).data('checkbox-name') + ']').prop("checked", $(this).prop("checked"));
        $(':checkbox[class='+ $(this).data('checkbox-name') + ']').trigger("change");
    });

});

Cependant, je vais avoir un problème en tant que de/tout sélectionner la case est en mesure de/sélectionnez les cases à cocher sont désactivées.

J'ai essayé ce

$(document).ready(function(){ //1
    //2
    $(':checkbox.selectall').on('click', function(){
        //3
        $(':checkbox[class='+ $(this).data('checkbox-name') + !$(:disabled) + ']').prop("checked", $(this).prop("checked"));
        $(':checkbox[class='+ $(this).data('checkbox-name') + !$(:disabled) + ']').trigger("change");
    });

});

Mais il ne fonctionne pas. J'ai fait un jsfiddle pour mettre en valeur le problème http://jsfiddle.net/e67Fv/

OriginalL'auteur user1488434 | 2012-07-12