Vinzenz Mai: Checkboxen wählt Checkbox

Beitrag lesen

Hallo,

Ja der Mechanismus an sich zum "alle markieren" und Markierung wieder aufheben ist natürlich sinnvoll. Aber ich würde das lieber über einen Button lösen als über eine Checkbox. Der Markiervorgang ist doch eigentlich nur eine momentage Aktion ohne dass man diesen Zustand in einer Checkbox dauerhaft anzeigen kann. Es stimmt ja nicht mehr sobald man einzelne Elemente wieder un-checkt.

genau deswegen möchte der Bayernfreund ja auch in diesem Fall die Häkchen in den übergeordneten "Check-All-Checkboxen" entfernen :-)

Folgende ungetestete Erweiterung des bestehenden Codes

document.body.onclick = function(e) {  
  var evO = getEventObject(e);  
  if(evO.nodeName == 'INPUT' && evO.type == 'checkbox') {  
    var val = evO.id;  
    var isChecked = evO.checked;  
    var inputs = document.getElementsByTagName('input');  
    for(i=0; i < inputs.length; i++) {  
      if(inputs[i].type == 'checkbox' && inputs[i] != evO && inputs[i].id.substr(0, val.length) == val) {  
        inputs[i].checked = isChecked;  
      }  
      /* Beginn Erweiterung */  
      // Entferne, falls nötig, Häkchen in den übergeordneten Bereichscheckboxen  
      // Diese sind vom Typ "checkbox",  
      // sind nicht das angeklickte Element,  
      // ihre id ist von vorn in der id des angeklicketen Elementes enthalten  
      // das angeklickte Element darf nicht angehakt sein  
      if(inputs[i].type == 'checkbox' && inputs[i] != evO && val.substr(0, inputs[i].id.length) == inputs[i].id && !isChecked ) {  
        inputs[i].checked = false;  
      }  
      /* Ende Erweiterung */  
    }  
  }  
}  

sollte es tun.

Freundliche Grüße

Vinzenz