Edit: Ein freund hat mir nun geholfen, Lösung habe ich am Ende gepostet für die, die das auch mal brauchen
Hallo liebe Forenmitglieder,
erstmal wünsch ich "nachträglich" ein frohes Fest
So, nun zum Ernst des Themas
Ich habe ein Formular.
Dort habe ich mehrere Checkboxen (n-viele, da diese aus ner DB kommen).
Desweiteren habe ich eine Anzahl n an Radiobuttons, die nach folgendem Schema aufgebaut sind:
<input ... name="rechte[n]" ... />
Wobei n ein Zähler ist, der halt variabel ist. Kann auch ma sein, dass da n von 1-4 geht und dann 5 nicht gesetzt ist und es ab 6 wieder weiter geht ...
So, nun möchte ich folgendes realisieren:
wenn man eine der Checkboxen auswählt, dann sollen alle Radiobuttons, deren ID per Functionsaufruf in einem Array übergeben werden auf checked gestellt werden und wenn man den Haken wieder entfernt, sollen diese Radiobuttons wieder abgewählt werden.
Also angenommen ich haben folgendes FOrmular:
Code:
<input type="radio" name="rechte[1]" value="true" />
<input type="radio" name="rechte[1]" value="false" />
<input type="radio" name="rechte[4]" value="true" />
<input type="radio" name="rechte[4]" value="false" />
<input type="radio" name="rechte[5]" value="true" />
<input type="radio" name="rechte[5]" value="false" />
<input type="radio" name="rechte[13]" value="true" />
<input type="radio" name="rechte[13]" value="false" />
<input type="checkbox" name="gruppe1" onclick="javascript_function(new Array(2,4,6,7,13))" />bla
<input type="checkbox" name="gruppe5" onclick="javascript_function(new Array1,7,13,22))" />foo
Dann sollen erstmal beide Checkboxen abgewählt sein. Wenn man nun auf die Checkbox 1 klcitk (foo bzw name="gruppe1), dann sollen die Radiobuttons mit dem Namen name="recht[4]" und name="recht[13]" ausgewählt werden (also diejenigen mit value="true").
Wenn man den Haken wieder entfernt, sollen genau diese Radiobuttons wieder abgewählt werden bzw der mit value="false" und dem selben Namen gewählt werden (kommt ja im Endeffkt auf's selbe raus).
So, und selbes gilt halt für die 2. Checkbox: hier sollen dann halt die Radionbuttons name="recht[1]" und name="recht[13]" auf den Wert gesetzt, wo value="true" im Code steht.
Desweiteren sollte ein Mischmasch stattfinden können.
Also angenommen vom User wird der Radiobutton name="recht[1]" von "Hand" ausgewählt, und er klickt später 2 mal auf die 2. Checkbox soll die Auswahl auch aufgehoben sein ...
Joa, vielen Dank im voraus!
p.s: ich kann leider kein Javascirpt, sonst würd ichs selbst versuchen ... Habe bisher nur das hinbekommen:
Code:
<html>
<head>
<script language="javascript">
function select(ary) {
var len = ary.length;
var checked = '';
for(var i = 0; i < len; i++) {
}
}
</script>
</head>
<body>
<form name="Formular" action="#" method="post">
<input type="radio" name="rechte[1]" value="true" />1<br />
<input type="radio" name="rechte[1]" value="false" />1<br /><br />
<input type="radio" name="rechte[2]" value="true" />2<br />
<input type="radio" name="rechte[2]" value="false" />2<br /><br />
<input type="radio" name="rechte[3]" value="true" />3<br />
<input type="radio" name="rechte[3]" value="false" />3<br /><br />
<input type="radio" name="rechte[4]" value="true" />4<br />
<input type="radio" name="rechte[4]" value="false" />4<br /><br />
<input type="radio" name="rechte[5]" value="true" />5<br />
<input type="radio" name="rechte[5]" value="false" />5<br /><br />
<input type="radio" name="rechte[6]" value="true" />6<br />
<input type="radio" name="rechte[6]" value="false" />6<br /><br />
<input type="radio" name="rechte[7]" value="true" />7<br />
<input type="radio" name="rechte[7]" value="false" />7<br /><br />
<a href="#" onclick="select( new Array(1,3,6) )">Gruppe 1</a><br />
<a href="#" onclick="select( new Array('s','3',4,5,7) )">Gruppe 2</a><br />
<a href="#" onclick="select( new Array('s','3',4,5,7) )">Gruppe 3</a><br />
</form>
</body>
</html>
Aber in der for-Schleife schlägts schon lange fehl, da ichs nicht rausbekomme, wie man auf die einzelnen Elemente zugreift, wie man checked, ob diese ausgewählt wurden bzw wie man das value (value="") abfragt etc :/
Danke im voraus!