web-dev-qa-db-fra.com

Cochez toutes les cases dans la page via les outils de développement

J'ai une boucle qui crée 20 cases à cocher dans la même page (cela crée des formulaires différents). Je souhaite via les outils de développement Chrome pour exécuter un JavaScript sans utiliser de bibliothèque qui [~ # ~] cochez [~ # ~] toutes cases à cocher à la fois.

C'est pour autant que je suis arrivé:

function() {
    var aa= document.getElementsByTagName("input");
    for (var i =0; i < aa.length; i++){
     aa.elements[i].checked = checked;
    }
}

PS: J'ai cherché et trouvé beaucoup de questions dans Stack-Overflow mais aucune n'a fonctionné pour moi, je serais heureux si quelqu'un pouvait me trouver la bonne réponse.

30
Ignacio Correia
(function() {
    var aa= document.getElementsByTagName("input");
    for (var i =0; i < aa.length; i++){
        if (aa[i].type == 'checkbox')
            aa[i].checked = true;
    }
})()

Avec les navigateurs à jour, vous pouvez utiliser document.querySelectorAll

(function() {
    var aa = document.querySelectorAll("input[type=checkbox]");
    for (var i = 0; i < aa.length; i++){
        aa[i].checked = true;
    }
})()
78
Musa

À partir des outils de développement de la console (F12), vous pouvez utiliser le sélecteur de requête comme vous l'utilisez dans le code javascript ou jQuery.

"$$" - signifie sélectionner tous les articles. Si vous utilisez '$' à la place, vous n'obtiendrez que le premier élément.

Donc, pour sélectionner toutes les cases à cocher, vous pouvez faire après

$$('input').map(i => i.checked = true)

ou

$$('input[type="checkbox"').map(i => i.checked = true)

7
Vlad Bezden

Vous l'avez presque correct. Utilisez simplement

aa[i].checked = "checked";

à l'intérieur de la boucle.

À savoir, vous devez vous assurer que:

  1. "checked" est une chaîne, pas un identificateur de variable, et
  2. vous indexez directement sur aa, pas aa.elements, qui n'existe pas
3
apsillers

Si vous êtes ici pour le one-liner rapide:

var aa = document.getElementsByTagName("input"); for (var i = 0; i < aa.length; i++) aa[i].checked = true;
2
user423430

Essaye ça :)

(function () {
    var checkboxes = document.querySelectorAll('input[type=checkbox]');

    //convert nodelist to array
    checkboxes = Array.prototype.slice.call(checkboxes);
    checkboxes.forEach(function (checkbox) {
        console.log(checkbox);
        checkbox.setAttribute('checked', true);
    });

})()

http://jsfiddle.net/YxUHw/

1
Robin Drexler

Fonction Javascript pour basculer (cocher/décocher) toutes les cases à cocher.

function checkAll(bx)
{
 var cbs = document.getElementsByTagName('input');
 for(var i=0; i < cbs.length; i++)
 {
    if(cbs[i].type == 'checkbox')
    {
        cbs[i].checked = bx.checked;
     }
 }
}

Si vous le souhaitez à partir des outils de développement, supprimez le paramètre de la fonction et mettez la valeur comme "vrai" ou "faux" au lieu de "bx.checked"

1

Essayez setAttribute .

(function() {
  var aa = document.getElementsByTagName("input");
  for (var i =0; i < aa.length; i++){
    aa.elements[i].setAttribute('checked', 'checked');
  }
})();

Edit: ajout de parens pour exécuter la fonction immédiatement.

1
jimbo