Bayernfreund: Checkboxen wählt Checkbox

Beitrag lesen

Hallo
Ich möchte für meine Website eine Auswahlmöglichkeit mit mehreren Checkboxen einrichten. Die Funktionsweise ist so daß man jede Checkbox einzeln auswählen kann. Außerdem kann man durch Anklicken der darüber liegenden Checkbox mehrere Checkboxen gleichzeitig mit Auswählen.

z.B.. bei Deutschland ---- alle Checkboxen
               Bayern ----------- alle bayerischen Checkboxen
               Lkr Passau ----- alle Checkboxen im Lkr Passau

Das funktioniert alles hervorragend. Mich stört dabei allerdings dieses alte Skript. Kann man das vielleicht auch anders lösen?

Kann man auch wenn alle Checkboxen gecheckt sind und ich z.B. in diesem Fall bei Pocking den Haken entferne, das auch beim Landkreis Passau, Bayern und Deutschland der Haken entfernt wird?

<input type="checkbox" id="alle"><font face="Arial"><span style="font-size:11pt;"><b>Deutschland</b></span></font><p>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                    <input type="checkbox" id="alle/Niedersachsen">              <font face="Arial"><span style="font-size:11pt;"><b>Niedersachsen</b></span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Hannover">     <font face="Arial"><span style="font-size:11pt;"   >Hannover</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Braunschweig"> <font face="Arial"><span style="font-size:11pt;"   >Braunschweig</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Osnabruck">    <font face="Arial"><span style="font-size:11pt;"   >Osnabr&uuml;ck</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Oldenburg">    <font face="Arial"><span style="font-size:11pt;"   >Oldenburg</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Gottingen">    <font face="Arial"><span style="font-size:11pt;"   >G&ouml;ttingen</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Hildesheim">   <font face="Arial"><span style="font-size:11pt;"   >Hildesheim</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Wolfsburg">    <font face="Arial"><span style="font-size:11pt;"   >Wolfsburg</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Niedersachsen/Salzgitter">   <font face="Arial"><span style="font-size:11pt;"   >Salzgitter</span></font><p>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                                                  <input type="checkbox" id="alle/Bayern">                      <font face="Arial"><span style="font-size:11pt;"><b>Bayern</b></span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                    <input type="checkbox" id="alle/Bayern/Munchen">                  <font face="Arial"><span style="font-size:11pt;"   >M&uuml;nchen</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                    <input type="checkbox" id="alle/Bayern/Nurnberg">             <font face="Arial"><span style="font-size:11pt;"   >N&uuml;rnberg</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                    <input type="checkbox" id="alle/Bayern/Wurzburg">          <font face="Arial"><span style="font-size:11pt;"   >W&uuml;rzburg</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                    <input type="checkbox" id="alle/Bayern/Passau">          <font face="Arial"><span style="font-size:11pt;"   >Landkreis Passau</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Bayern/Passau/Vilshofen">     <font face="Arial"><span style="font-size:11pt;"   >Vilshofen an der Donau</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Bayern/Passau/Griesbach"> <font face="Arial"><span style="font-size:11pt;"   >Bad Griesbach i.Rottal</span></font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Bayern/Passau/Pocking">   <font face="Arial"><span style="font-size:11pt;"   >Pocking</span></font><p>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Berlin"> <font face="Arial"><span style="font-size:11pt;"><b>Berlin</b></span></font><p>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="alle/Hamburg"> <font face="Arial"><span style="font-size:11pt;"><b>Hamburg</b></span></font><p>

<script type="text/javascript">
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;
}
}
}
}
function getEventObject(e) {
if(window.ActiveXObject) {
return window.event.srcElement;
}
else {
if(e.target.nodeName == "#text") {
return e.target.parentNode;
}
else {
return e.target;
}
}
}
</script>