Supportnet / Forum / Webseiten/HTML
Checkboxen
Frage
Hallo!
Ich habe 9 Checkboxen, von denen nur eine vorselektiert ist (Name der vorselektierten:alles). Die anderen sind nicht vorselektiert. Jetzt möchte ich, dass wenn ein Benutzer auf eine der anderen 8 Checkboxen klickt, die Selektion von "alles" deaktiviert wird (also nicht mehr selektiert ist. Wie mache ich das?
Danke!
Tommi
Antwort 1 von semi
So ungefähr?
Es verhält sich aber etwas doof. :)
Gruß,
Michael
Es verhält sich aber etwas doof. :)
<html>
<head>
<script type="text/javascript">
<!--
function doCheck(c) {
var form = document.forms[0];
form.alle.checked = form.alle.checked && !c.checked;
}
-->
</script>
</head>
<body>
<form>
<input type=checkbox name="a" onClick="doCheck(this);">A
<input type=checkbox name="b" onClick="doCheck(this);">B
<input type=checkbox name="c" onClick="doCheck(this);">C
<input type=checkbox name="d" onClick="doCheck(this);">D
<input type=checkbox name="alle" checked>Alle
</form>
</body>
</html>Besser wäre sowasfunction doCheck(c) {
var form = document.forms[0];
if(c.name == "alle") {
form.a.checked = form.a.checked || c.checked;
form.b.checked = form.b.checked || c.checked;
form.c.checked = form.c.checked || c.checked;
form.d.checked = form.d.checked || c.checked;
}
else
{
form.alle.checked = form.alle.checked && c.checked;
}
}Gruß,
Michael
Antwort 2 von Dr.Ma-Busen
Moin!
Hier hast du noch ein Beispiel
MfG
Dr. Ma-Busen
Hier hast du noch ein Beispiel
<html>
<head>
<script type="text/javascript">
<!--
var ch_co = 0;
function change(id){
if(id.name != "alles"){
if(id.checked){
ch_co++;
}else{ch_co--}
if(ch_co == 0){
document.forms["form"].alles.checked = true;
}else{
document.forms["form"].alles.checked = false;
}
}else{
if(ch_co != 0){id.checked = false}
}
}
//-->
</script>
</head>
<body>
<form method="post" id="form">
<input type="checkbox" name="box_1" onClick="change(this)"><br>
<input type="checkbox" name="box_2" onClick="change(this)"><br>
<input type="checkbox" name="box_3" onClick="change(this)"><br>
<input type="checkbox" name="alles" checked onClick="change(this)">alles<br>
</form>
</body>
</html>MfG
Dr. Ma-Busen
Antwort 3 von Tommi23
Das geht ja schon in die richtige Richtung, Danke euch beiden :-))). Jetzt muss ich es nur noch hinbekommen, dass wenn man auf "alles" klick, die anderen Kästchen wieder deaktiviert werden. Habt ihr vielleicht ne Idee. JS ist für mich Neuland :-(.
Tommi
Tommi
Antwort 4 von Dr.Ma-Busen
Mahlzeit!
Ersetze mal in den Beispiel von mir den ganze JavaScript Code durch folgenden:
Durch folgendes:
Dann sollte es so deinen Wünschen entsprechend funktionieren ;)
MfG
Dr.Ma-Busen
Ersetze mal in den Beispiel von mir den ganze JavaScript Code durch folgenden:
Durch folgendes:
var elemList = new Array();
var co = 0;
function change(id){
if(id.name != "alles"){
if(typeof elemList[id.name] == 'undefined'){
co++;
elemList[id.name] = id;
}else if(elemList[id.name]){
co--;
delete elemList[id.name];
}
}else{
for(var elem in elemList){
elemList[elem].checked = false;
delete elemList[elem];
co = 0;
}
}
if(co == 0){
document.forms["form"].alles.checked = true;
}else{
document.forms["form"].alles.checked = false;
}
}Dann sollte es so deinen Wünschen entsprechend funktionieren ;)
MfG
Dr.Ma-Busen
Antwort 5 von Tommi23
Echt Klasse, genau so wollte ich es. Kann gar nicht genug Danken!!!!!!!!
Vielen Dank!!!
Tommi
Vielen Dank!!!
Tommi

