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
Vous devez vous connecter pour publier un commentaire.
Hm... interressant d'essayer, mais vous ne pouvez pas utiliser un objet jQuery à l'intérieur d'un sélecteur, et que le sélecteur est juste une simple chaîne de caractères.
Le sélecteur pour exclure les personnes handicapées les éléments seraient
:not(:disabled)
, de sorte que votre code devrait être:Notez que vous pouvez la chaîne d'appels, de sorte que vous n'avez pas à sélectionner les éléments à deux reprises:
OriginalL'auteur
Utiliser un combonation de la
.not()
fonction et:disabled
sélecteur d'exclure ces..not()
existe également en tant que sélecteur de:not()
et pourrait être utilisé comme suit:OriginalL'auteur
Voici ce que j'ai l'habitude de faire:
J'espère que cela aide 🙂
Désolé j'ai oublié de l'inclure dans le code, j'ai juste édité ma réponse en ajoutant :non (désactivé)...
OriginalL'auteur
Ce n'est pas la même que votre code d'origine. Il ne ferait que déclencher un changement pour ceux qui n'ont pas été modifiées. J'ai assummed vous souhaite déclencher un changement pour tous les une fois que vous avez changé
OriginalL'auteur