237 votes

Trouver toutes les cases à cocher non cochées en jQuery

J'ai une liste de cases à cocher :

<input type="checkbox" name="answer" id="id_1' value="1" />
<input type="checkbox" name="answer" id="id_2' value="2" />
...
<input type="checkbox" name="answer" id="id_n' value="n" />

Je peux collecter toutes les valeurs des cases à cocher cochées ; ma question est de savoir comment obtenir toutes les valeurs des cases à cocher non cochées ? J'ai essayé :

$("input:unchecked").val();

pour obtenir la valeur d'une case à cocher non cochée, mais j'ai obtenu :

Erreur de syntaxe, expression non reconnue : non vérifié.

Quelqu'un peut-il m'éclairer sur ce problème ? Merci !

2 votes

2 votes

0 votes

@FelixKling C'est clairement un duplicata exact. S'il vous plaît, balancez votre marteau Jquery.

506voto

SLaks Points 391154

Comme l'indique le message d'erreur, jQuery n'inclut pas de fichier :unchecked sélecteur.
Au lieu de cela, vous devez inverser le :checked sélecteur :

$("input:checkbox:not(:checked)")

10 votes

Et l'utilisation de input[type=checkbox] est la plus rapide.

37voto

dave Points 4605

$("input:checkbox:not(:checked)") Vous obtiendrez les cases non cochées.

17voto

Pavel Griza Points 74

Il est également possible de le faire avec du js pur de cette manière :

var matches = document.querySelectorAll('input[type="checkbox"]:not(:checked)');

10voto

ThulasiRam Points 3795

Vous pouvez le faire en étendant la fonctionnalité de jQuerys. Cela réduira la quantité de texte que vous devez écrire pour le sélecteur.

$.extend($.expr[':'], {
        unchecked: function (obj) {
            return ((obj.type == 'checkbox' || obj.type == 'radio') && !$(obj).is(':checked'));
        }
    }
);

Vous pouvez alors utiliser $("input:unchecked") pour obtenir toutes les cases à cocher et les boutons radio qui sont cochés.

4voto

Ehsan Points 9458

Vous pouvez utiliser comme ceci :

$(":checkbox:not(:checked)")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X