J'ai une page HTML avec plusieurs cases à cocher.
J'ai besoin d'une case à cocher supplémentaire du nom "sélectionner tout". Lorsque je coche cette case, toutes les cases de la page HTML doivent être cochées. Comment puis-je faire ceci?
javascript
html
checkbox
selectall
user48094
la source
la source
CTRL+SHIFT+K
pour ouvrir la console, puis collez :$("input:checkbox").attr('checked', true)
et appuyez surEnter
. Toutes les cases à cocher de la page actuelle doivent maintenant être cochées. Pour un chèque- changementTrue
àFalse
.Réponses:
METTRE À JOUR:
La
for each...in
construction ne semble pas fonctionner, du moins dans ce cas, dans Safari 5 ou Chrome 5. Ce code devrait fonctionner dans tous les navigateurs:la source
for(var i in checkboxes) checkboxes[i].checked = source.checked
fonctionne dans tous les navigateurs.for in
avec une collection ou un tableau, n=checkboxes.length;i<n
au lieu de justei < checkboxes.length
? Quoi qu'il en soit, pour rendre la fonction générique (réutilisation du code), passez un paramètre supplémentaire:(source, checkboxes_name)
et faitesdocument.getElementsByName(checkboxes_name);
C'est mieux que de coder en dur le nom et de rendre la fonction spécifique à un ensemble particulier de cases à cocher.for(let checkbox of checkboxes)
.Utilisation de jQuery :
HTML:
la source
Je ne suis pas sûr que personne n'ait répondu de cette manière (en utilisant jQuery ):
Il est propre, n'a pas de boucles ou de clauses if / else et fonctionne comme un charme.
la source
Pour le désélectionner:
la source
this.checked
placeJe suis surpris que personne n'ait mentionné
document.querySelectorAll()
. Solution JavaScript pure, fonctionne dans IE9 +.la source
Démo http://jsfiddle.net/H37cb/
la source
attr()
méthode, je suppose. changé enprop()
Version légèrement modifiée qui vérifie et décoche avec respect
la source
Lorsque vous appelez
document.getElementsByName("name")
, vous obtiendrez unObject
. Utilisez.item(index)
pour parcourir tous les éléments d'unObject
HTML:
la source
la source
Ma solution simple permet de sélectionner / désélectionner de manière sélective toutes les cases à cocher dans une partie donnée du formulaire , tout en utilisant des noms différents pour chaque case à cocher, afin qu'elles puissent être facilement reconnues après la publication du formulaire.
Javascript:
Exemple HTML:
J'espère que tu aimes!
la source
Essayez cette simple JQuery:
la source
$(':checkbox').prop('checked', this.checked)
, pas besoin du conditionnel.JavaScript est votre meilleur choix. Le lien ci-dessous donne un exemple utilisant des boutons pour tout désélectionner. Vous pouvez essayer de l'adapter pour utiliser une case à cocher, utilisez simplement l'attribut onClick «Tout sélectionner».
Fonction Javascript pour cocher ou décocher toutes les cases
Cette page a un exemple plus simple
http://www.htmlcodetutorial.com/forms/_INPUT_onClick.html
la source
Cet exemple fonctionne avec JavaScript natif où le nom de variable de case à cocher varie, c'est-à-dire pas tous "foo".
la source
getcheckboxes
fonction pourrait être remplacée pardocument.querySelectorAll('input[type=checkbox]');
la source
qui devrait faire le travail:
la source
la source
Utilisation de jQuery et knockout:
Avec cette case à cocher principale contraignante reste synchronisée avec les cases à cocher sous-jacentes, elle ne sera pas cochée à moins que toutes les cases à cocher soient cochées.
en html:
la source
Vous pouvez avoir différents ensembles de cases à cocher sur le même formulaire . Voici une solution qui sélectionne / désélectionne les cases à cocher par nom de classe, à l'aide de la fonction javascript vanilla document.getElementsByClassName
Le bouton Sélectionner tout
Certaines cases à cocher pour sélectionner
Le javascript
la source
C'est ce que cela fera, par exemple si vous avez 5 cases à cocher, et que vous cliquez sur tout cocher, il coche tout, maintenant si vous décochez toutes les cases probablement en cliquant sur chacune des 5 cases à cocher, au moment où vous décochez la dernière case, la sélection toutes les cases à cocher sont également décochées
la source
Comme je ne peux pas commenter, voici une réponse: j'écrirais la solution de Can Berk Güder de manière plus générale, vous pouvez donc réutiliser la fonction pour d'autres cases à cocher
la source
Si vous adoptez la première réponse pour jquery, n'oubliez pas que l'objet transmis à la fonction click est un EventHandler, pas l'objet de case à cocher d'origine. Par conséquent, le code devrait être modifié comme suit.
Html
Javascript
la source
Voici une implémentation de backbone.js:
la source
html
javascript
la source
1: ajouter le gestionnaire d'événements onchange
2: Modifier le code pour gérer coché / décoché
la source
Les méthodes ci-dessous sont très faciles à comprendre et vous pouvez implémenter des formulaires existants en quelques minutes
sous forme HTML mis en dessous des boutons
sous forme HTML mis en dessous des boutons
la source
Vous pouvez utiliser ce code simple
la source
pour le faire en version abrégée en utilisant jQuery
La case à cocher Tout sélectionner
La case enfants
jQuery
la source
Peut-être un peu tard, mais lorsque vous traitez une case à cocher tout, je pense que vous devriez également gérer le scénario lorsque vous avez coché la case tout cocher, puis décochez l'une des cases ci-dessous.
Dans ce cas, elle devrait automatiquement décocher la case à cocher tout.
De même, lorsque vous cochez manuellement toutes les cases à cocher, vous devriez vous retrouver avec la case à cocher Tout cocher automatiquement cochée.
Vous avez besoin de deux gestionnaires d'événements, un pour la case à cocher tout et un pour lorsque vous cliquez sur l'une des cases ci-dessous.
la source
Simple et au POINT:
jQuery - En cliquant sur un bouton ou div ou un élément d'étiquette. Cochez toutes les cases de la page. Gardez à l'esprit que vous devrez ajuster: case à cocher pour le rendre plus spécifique.
la source