Moin
> Hallo!
Möchte eine checkbox hinzufügen - geht aber irgendwie nicht :-( sobald mehr als eine gecheckt ist, funktioniert nichts mehr... Ist bestimmt ganz einfach zu lösen hab aber so ein großes Brett vorm kopp das ich nicht drauf komme :-)
Es ist immer sinnvoller JavaScript arbeiten zu lassen - in diesem Fall kann das Script sich die Werte direkt aus den values holen. Das erhöht die Übersicht.
Zusammengehörende Checkboxen haben das gleiche name-Attribut!
onChange ist besser als onClick, da letzteres nur auf die MAus reagiert, ersteres auch auf die Tastatur.
So ähnlich könnte das dann aussehen (habs nicht getestet)
<script type="text/javascript">
function displayArrayContent() {
if (!document.getElementById) return;
var x=document.getElementsByTagName("div");
for (var i=0;i<x.length;i++) {
if (x[i].id.indexOf("cat")>-1) x[i].style.display="none";
}
x=document.forms["myForm"].elements["category"];
var kanal="";
for (i=0;i<x.length;i++) {
if (x[i].checked) kanal+=x[i].value;
}
kanaele = kanal.split("|");
for (i=0;i<kanaele.length; i++) {
document.getElementById(kanaele[i]).style.display=block;
}
}
window.onload=function () {
displayArrayContent()
}
</script>
<form action="#" method="post" name="myForm">
<input type="checkbox" name="category" value="cat1|cat2" onchange="displayArrayContent()" /> Channel 1<br/><input type="checkbox" name="category" value="cat1|cat2|cat3" onchange="displayArrayContent()" /> Channel 2<br/>
...
<hr />
<div id="cat1">
<input type="checkbox" name="[Category][1]" value="cat1" /> Category 1
</div>
...
</form>
Gruß
rfb