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>
<input type="checkbox" id="alle/Niedersachsen"> <font face="Arial"><span style="font-size:11pt;"><b>Niedersachsen</b></span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Hannover"> <font face="Arial"><span style="font-size:11pt;" >Hannover</span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Braunschweig"> <font face="Arial"><span style="font-size:11pt;" >Braunschweig</span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Osnabruck"> <font face="Arial"><span style="font-size:11pt;" >Osnabrück</span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Oldenburg"> <font face="Arial"><span style="font-size:11pt;" >Oldenburg</span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Gottingen"> <font face="Arial"><span style="font-size:11pt;" >Göttingen</span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Hildesheim"> <font face="Arial"><span style="font-size:11pt;" >Hildesheim</span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Wolfsburg"> <font face="Arial"><span style="font-size:11pt;" >Wolfsburg</span></font><br>
<input type="checkbox" id="alle/Niedersachsen/Salzgitter"> <font face="Arial"><span style="font-size:11pt;" >Salzgitter</span></font><p>
<input type="checkbox" id="alle/Bayern"> <font face="Arial"><span style="font-size:11pt;"><b>Bayern</b></span></font><br>
<input type="checkbox" id="alle/Bayern/Munchen"> <font face="Arial"><span style="font-size:11pt;" >München</span></font><br>
<input type="checkbox" id="alle/Bayern/Nurnberg"> <font face="Arial"><span style="font-size:11pt;" >Nürnberg</span></font><br>
<input type="checkbox" id="alle/Bayern/Wurzburg"> <font face="Arial"><span style="font-size:11pt;" >Würzburg</span></font><br>
<input type="checkbox" id="alle/Bayern/Passau"> <font face="Arial"><span style="font-size:11pt;" >Landkreis Passau</span></font><br>
<input type="checkbox" id="alle/Bayern/Passau/Vilshofen"> <font face="Arial"><span style="font-size:11pt;" >Vilshofen an der Donau</span></font><br>
<input type="checkbox" id="alle/Bayern/Passau/Griesbach"> <font face="Arial"><span style="font-size:11pt;" >Bad Griesbach i.Rottal</span></font><br>
<input type="checkbox" id="alle/Bayern/Passau/Pocking"> <font face="Arial"><span style="font-size:11pt;" >Pocking</span></font><p>
<input type="checkbox" id="alle/Berlin"> <font face="Arial"><span style="font-size:11pt;"><b>Berlin</b></span></font><p>
<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>