J'ai ce qui suit:
$(document).ready(function()
{
$("#select-all-teammembers").click(function() {
$("input[name=recipients\\[\\]]").attr('checked', true);
});
});
J'aimerais que id="select-all-teammembers"
lorsque vous cliquez dessus, vous basculez entre coché et non coché. Des idées? ce ne sont pas des dizaines de lignes de code?
jquery
checkbox
jquery-selectors
toggle
Un apprenti
la source
la source
$('input[type=checkbox]').trigger('click');
mentionné par @ 2astalavista ci-dessous est plus succinct et déclenche également l'événement "change".la source
Je sais que c'est vieux, mais la question était un peu ambiguë, car basculer peut signifier que chaque case à cocher devrait changer son état, quel qu'il soit. Si vous avez 3 cochés et 2 non cochés, le basculement rendrait les 3 premiers non cochés et les 2 derniers cochés.
Pour cela, aucune des solutions ne fonctionne ici car elles font que toutes les cases à cocher ont le même état, plutôt que de basculer l'état de chaque case à cocher. Faire
$(':checkbox').prop('checked')
sur de nombreuses cases à cocher renvoie le ET logique entre toutes.checked
les propriétés binaires, c'est-à-dire que si l'une d'entre elles n'est pas cochée, la valeur retournée estfalse
.Vous devez utiliser
.each()
si vous souhaitez réellement basculer chaque état de case à cocher plutôt que de les rendre tous égaux, par exempleNotez que vous n'avez pas besoin de l'
$(this)
intérieur du gestionnaire car la.checked
propriété existe dans tous les navigateurs.la source
Voici une autre façon que vous souhaitez.
la source
Je pense qu'il est plus simple de simplement déclencher un clic:
la source
La meilleure façon de penser.
ou
ou
la source
Depuis jQuery 1.6, vous pouvez utiliser
.prop(function)
pour basculer l'état vérifié de chaque élément trouvé:la source
Utilisez ce plugin:
alors
la source
En supposant que c'est une image qui doit basculer la case à cocher, cela fonctionne pour moi
la source
La case à cocher doit être mise à jour elle-même sous certaines conditions. Essayez de cliquer sur '# select-all-teammembers' puis décochez quelques éléments et cliquez à nouveau sur select-all. Vous pouvez voir une incohérence. Pour l'empêcher, utilisez l'astuce suivante:
BTW toutes les cases à cocher DOM-objet doivent être mises en cache comme décrit ci-dessus.
la source
Voici un moyen jQuery de basculer les cases à cocher sans avoir à sélectionner une case à cocher avec html5 et étiquettes:
http://www.bootply.com/A4h6kAPshx
la source
si vous souhaitez basculer chaque case individuellement (ou si une seule case fonctionne aussi bien):
Je recommande d'utiliser .each (), car il est facile à modifier si vous voulez que différentes choses se produisent, et toujours relativement court et facile à lire.
par exemple :
en passant ... je ne sais pas pourquoi tout le monde utilise .attr () ou .prop () pour (dé) vérifier les choses.
autant que je sache, element.checked a toujours fonctionné de la même manière dans tous les navigateurs?
la source
;)
la source
Vous pouvez aussi écrire comme ça
Il suffit d'appeler l'événement Click de la case à cocher lorsque l'utilisateur clique sur le bouton avec l'ID '# checkbox-toggle'.
la source
Une meilleure approche et UX
la source
Essayer:
la source
Celui-ci fonctionne très bien pour moi.
la source
!
signe avant.L'exemple le plus élémentaire serait:
la source
vous pouvez simplement l'utiliser
la source
à mon avis, l'homme le plus juste qui a suggéré une variante normale est GigolNet Gigolashvili, mais je veux suggérer une variante encore plus belle. Vérifie ça
la source
Définir «vérifié» ou null au lieu de vrai ou faux respectivement fera le travail.
la source
Ce code fera basculer la case à cocher en cliquant sur n'importe quel animateur de commutateur à bascule utilisé dans les modèles Web. Remplacez ".onoffswitch-label" comme disponible dans votre code. "checkboxID" est la case à cocher activée ici.
la source
Eh bien, il existe un moyen plus simple
Donnez d'abord à vos cases à cocher un exemple de classe 'id_chk'
Puis à l'intérieur de la case à cocher qui contrôlera l'état des cases à cocher 'id_chk':
<input type='checkbox' onchange='js:jQuery(".id_chk").prop("checked", jQuery(this).prop("checked"))' />
C'est tout, j'espère que cela aide
la source