web-dev-qa-db-fra.com

Compter le nombre de cases à cocher cochées en HTML

Donc, fondamentalement, je veux compter le nombre de cases à cocher cochées. J'obtiens mon code au point où il les compte avec succès, mais je veux créer une alerte qui indique le nombre de cases cochées, le code le fait mais ne montre pas le nombre total, il incrémente le total à chaque actualisation. Je veux juste savoir comment je peux afficher un compte total. 

Il devrait afficher le total lorsque l'utilisateur clique sur le bouton radio «oui». 

<br />Apples
<input type="checkbox" name="fruit" />Oranges
<input type="checkbox" name="fruit" />Mango
<input type="checkbox" name="fruit" />
<br />Yes
<input type="radio" name="yesorno" id="yes" onchange="checkboxes()"
function checkboxes(){
    var inputElems = document.getElementsByTagName("input"),
    count = 0;
    for (var i=0; i<inputElems.length; i++) {
    if (inputElems[i].type === "checkbox" && inputElems[i].checked === true){
        count++;
        alert(count);
    }
}}
16
roro

essayez ceci en utilisant jQuery

Méthode 1:

alert($('.checkbox_class_here :checked').size());

Méthode 2:

alert($('input[name=checkbox_name]').attr('checked'));

Méthode: 3

alert($(":checkbox:checked").length);
15
mohsinali1317

Essayez ce code

 <br />Apples
                <input type="checkbox" name="fruit" checked/>Oranges
                <input type="checkbox" name="fruit" />Mango
                <input type="checkbox" name="fruit" />

                <br />Yes
<input type="radio" name="yesorno" id="yes" onClick="checkboxes();" />

Javascript

     function checkboxes()
      {
       var inputElems = document.getElementsByTagName("input"),
        count = 0;

        for (var i=0; i<inputElems.length; i++) {       
           if (inputElems[i].type == "checkbox" && inputElems[i].checked == true){
              count++;
              alert(count);
           }

        }
     }

FIDDLE DEMO

5
Girish

Le code initial était presque parfait. la ligne alert (count); était au mauvais endroit. Il aurait dû venir après la deuxième accolade de fermeture comme ceci: -

 function checkboxes()
  {
   var inputElems = document.getElementsByTagName("input"),
    count = 0;

    for (var i=0; i<inputElems.length; i++) {       
       if (inputElems[i].type == "checkbox" && inputElems[i].checked == true){
          count++;
       }
    }
    alert(count);
 }

Au mauvais endroit, il vous envoyait un message d’alerte avec chaque case cochée.

2
Jon Flowers
var checkboxes = document.getElementsByName("fruit");
for(int i;i<checkboxes.length;i++)
{
if(checkboxes[i].checked==0){checkboxes.splice(i,1);}
}
alert("Number of checked checkboxes: "+checkboxes.length);
1
nicael