Don P: Checkboxen prüfen

Beitrag lesen

Hallo,

Das ist ja ein klassischer Anwendungsfall von Event Delegation. Anstatt change würde ich hier das aufsteigende Ereignis click verwenden, der feuert, sobald sich der Checked-Status, nicht erst, sobald sich der Status ändert *und* das Feld den Fokus verliert.

Das ganze Event-Capturing und Event-Bubbling ist Cross-Browser-mäßig schon etwas kompliziert.
Im vorliegenden Fall (OP) mit 49 Checkboxen, von denen genau 6 aktiviert sein sollen, geht es mit dem click-Event wohl am einfachsten so:

  
      var getippt = 0,  
          tippFeld = document.getElementById('Tippfeld');  
  
      tippFeld.onclick = function(e) {  
  
        e = e||event;  
        var elt = e.target||e.srcElement;  
        if( (elt.type && elt.type.toLowerCase()==='checkbox') ){elt.blur(); getippt += (elt.checked||-1); }  
      }  

Hier setzte ich voraus, dass alle Checkboxen in einem Container mit der id "Tippfeld" liegen und anfangs deaktiviert sind.
Die Variable "getippt" enthält dann immer die aktuelle Anzahl aktivierter Checkboxen.

Gruß, Don P