J'ai codé une page ASP en utilisant un exemple ici qui montre combien de cases cochées il y a dans un formulaire dans une boîte d'alerte contextuelle. Le problème est que nous avons maintenant tellement de cases sur le formulaire qu'il faut une éternité pour sélectionner une case, fermer l'alerte, cocher une autre case, fermer l'alerte… Je voudrais changer ou remplacer le code pour afficher le nombre de cases cochées dans le HTML du document au lieu d'une alerte, mise à jour du décompte lorsque les cases sont cochées ou décochées Voici le script utilisé pour compter les cases et afficher l'alerte:

<script language="JavaScript">
function checkTotalCheckedBoxes()
{
     var checkLength = 0;
     var boxes = document.getElementById("yyy").getElementsByTagName("input");
     for (var i = 0; i < boxes.length; i++)
     {
         boxes[i].checked ? checkLength++ : null;
     }
     alert (checkLength + " boxes are checked." );
}
</script>

J'ai aussi un script "Sélectionner tout" qui fonctionne très bien pour sélectionner toutes les cases à la fois. Le seul problème est que la case «Sélectionner tout» reste cochée une fois utilisée, même si certaines cases sont désélectionnées. Je dois modifier le script pour décocher la case "Sélectionner tout" si l'utilisateur clique dessus, puis désélectionne l'une des cases cochées.

Voici ce script:

<script language="JavaScript">
function toggle(source) {
  checkboxes = document.getElementsByName('checkbox');
  for(var i=0, n=checkboxes.length;i<n;i++) {
    checkboxes[i].checked = source.checked;
  } 

       var checkLength = 0;
     var boxes = document.getElementById("yyy").getElementsByTagName("input");
     for (var i = 0; i < boxes.length; i++)
     {
         boxes[i].checked ? checkLength++ : null;
     }
     alert (checkLength + " boxes are checked." );
}
</script>

Merci beaucoup pour toute aide que vous pouvez offrir!

0
Charles 22 juil. 2015 à 19:40

2 réponses

Meilleure réponse

Sans fournir le code HTML, je ne peux que deviner à quoi ressemble votre mise en page. Cela étant dit, regardez ce violon: https://jsfiddle.net/yxo6de48/

Il devrait vous fournir un peu de conseils, si rien d'autre, sur la façon d'atteindre ce que vous recherchez.

Javascript:

function checkTotalCheckedBoxes()
{
     var checkLength = 0;
     var boxes = document.getElementById("yyy").getElementsByTagName("input");
     for (var i = 0; i < boxes.length; i++)
     {
         boxes[i].checked ? checkLength++ : null;
     }
     document.getElementById("count").innerHTML = checkLength + " boxes are checked.";
}

function toggle(source) {
  checkboxes = document.getElementsByName('checkbox');
  for(var i=0; i < checkboxes.length;i++) {
    checkboxes[i].checked = source.checked;
  } 
  checkTotalCheckedBoxes();
}
0
Anthony Hilyard 22 juil. 2015 à 17:00

Créez une étiquette:

 <label id="lblTest" />

Définissez le texte:

  document.getElementById("lblTest").innerHTML(//value here);

Ou avec jQuery:

 $("#lblTest").text(//value);
0
Dean.DePue 22 juil. 2015 à 16:58