# bei klick eines "radio-button" soll eine checkbox aktiviert werden?



## snackx (16. August 2004)

und ich habe leider überhaupt keine Ahnung wie das funktionieren soll :-(

Gruß

Dirk


----------



## Tobias Menzel (16. August 2004)

Hi,

```
<script language="JavaScript" type="text/javascript">
function setCheck(obj) {
    document.getElementById("checkbox").checked=obj.checked;
}
</script>
<body>
<input name="checkbox" type="checkbox" value="checkbox">
<input name="radiobutton" type="radio" onClick="setCheck(this)">
</body>
```

Gruß


----------



## snackx (16. August 2004)

*...*

danke erstmal  

kann das auch hier funktionieren?

Die Werte kommen aus einer DB und wenn jemand was verändert soll automatisch dann die checkbox aktiviert werden.

 echo "<input type=\"radio\" value=\"1\" name=\"online[$id]\" ";
 if($online=="1")  echo " checked";
 echo "> Ja</td>";
 echo "<td><input type=\"radio\" value=\"0\" name=\"online[$id]\" ";
 if($online=="0")  echo " checked";
 echo "> Nein";
 echo "</td>\n";
 echo "<td align=center>";
 echo "<input type=\"checkbox\" name=\"tc[]\" value=\"$id\">";


gruß

Dirk


----------



## Tobias Menzel (16. August 2004)

... sicher, Du brauchst nur den onClick- (oder onChange) Handler in den Tags sowie das dazugehörige JS ebenfalls mit echo ausgeben...

Gruß


----------



## snackx (16. August 2004)

*super*

Super 

funkioniert

Vielen Dank

Dirk


----------



## snackx (16. August 2004)

*ups*

hab doch noch ein Problem

er nimmt leider immer nur den letzten?

die Zahl in tc[] wird von der Datenbank übergeben ($id)

<script language="JavaScript" type="text/javascript">
function setCheck(obj) {
    document.getElementById("tc[8]").checked=obj.checked;
}
</script><input type="hidden" name="id[]" value="8"><tr>
<td><b>Fussballverband Niederrhein e.V.</b></td>
<td><a href="http://www.fvn.de" target="_blank">http://www.fvn.de</a></td>
<td><select name="rubrik[8]" class="tx12"><option value="Fussball">Fussball</option><option value="Vereine">Vereine</option><option value="Diverses" selected>Diverses</option></select></td>
<td><input type="radio" value="1" name="online[8]"  checked onClick="setCheck(this)"> Ja</td>
<td><input type="radio" value="0" name="online[8]"  onClick="setCheck(this)"> Nein</td>
<td align=center><input type="checkbox" name="tc[8]" value="8">&nbsp;&nbsp;</td>
</tr>

<script language="JavaScript" type="text/javascript">
function setCheck(obj) {
    document.getElementById("tc[18]").checked=obj.checked;
}
</script><input type="hidden" name="id[]" value="18"><tr>
<td><b>Fußballportal DFBnet</b></td>
<td><a href="http://www.fussball.de" target="_blank">http://www.fussball.de</a></td>
<td><select name="rubrik[18]" class="tx12"><option value="Fussball" selected>Fussball</option><option value="Vereine">Vereine</option><option value="Diverses">Diverses</option></select></td>
<td><input type="radio" value="1" name="online[18]"  onClick="setCheck(this)"> Ja</td>
<td><input type="radio" value="0" name="online[18]"  checked onClick="setCheck(this)"> Nein</td>
<td align=center><input type="checkbox" name="tc[18]" value="18">&nbsp;&nbsp;</td>
</tr>

<script language="JavaScript" type="text/javascript">
function setCheck(obj) {
    document.getElementById("tc[13]").checked=obj.checked;
}
</script><input type="hidden" name="id[]" value="13"><tr>
<td><b>Jugendtraining</b></td>
<td><a href="http://www.supercoach.de" target="_blank">http://www.supercoach.de</a></td>
<td><select name="rubrik[13]" class="tx12"><option value="Fussball">Fussball</option><option value="Vereine">Vereine</option><option value="Diverses" selected>Diverses</option></select></td>
<td><input type="radio" value="1" name="online[13]"  checked onClick="setCheck(this)"> Ja</td>
<td><input type="radio" value="0" name="online[13]"  onClick="setCheck(this)"> Nein</td>
<td align=center><input type="checkbox" name="tc[13]" value="13">&nbsp;&nbsp;</td>
</tr>

Dirk


----------



## Tobias Menzel (16. August 2004)

> er nimmt leider immer nur den letzten?


 ... den letzten was?

```
<script language="JavaScript" type="text/javascript">
function setCheck(obj) {
document.getElementById("tc[13]").checked=obj.checked;
}
```
Du hast Diese Funktion (gleicher Name etc.) mehrmals im Script stehen. Woher soll der Parser wissen, welche Funktion aufgerufen werden soll? Nimm lieber _eine_ Funktion und übergib ihr den Index der zu setztenden Checkbox:
	
	
	



```
<script language="JavaScript" type="text/javascript">
function setCheck(obj, nr) {
document.getElementById("tc["+nr+"]").checked=obj.checked; // kannst auch einfach true nehmen, 
//da ja nur eingeschaltet werden soll
}
```

Gruß


----------



## snackx (16. August 2004)

*zu blöd?*

leider klappt es immer noch nicht

er sagt:

document.getElementById(...) ist Null oder kein Objekt ...

hier der gesamt Code

while($row=mysql_fetch_array($news))
{
	$id=$row["id"];
	$verein=$row["verein"];
 	$rubrik=$row["rubrik"];
	$link=$row["link"];
	$online=$row["online"];
echo "
<script language=\"JavaScript\" type=\"text/javascript\">
function setCheck(obj, nr) {
    document.getElementById(\"tc[\"+nr+\"]\").checked=obj.checked;
}
</script>";
 echo "<input type=\"hidden\" name=\"id[]\" value=\"$id\">";
 echo "<tr>\n";
 echo "<td><b>$verein</b></td>\n";
 echo "<td><a href=\"http://$link\" target=\"_blank\">$link</a></td>\n";
 echo "<td>";
 echo "<select name=\"rubrik[$id]\" class=\"tx12\">";
 echo "<option value=\"Fussball\"";
 if($rubrik=="Fussball") { echo " selected";}
 echo ">Fussball</option>";
 echo "<option value=\"Vereine\"";
 if($rubrik=="Vereine") { echo " selected";}
 echo ">Vereine</option>";
 echo "<option value=\"Diverses\"";
 if($rubrik=="Diverses") { echo " selected";}
 echo ">Diverses</option>";
 echo "</select>";
 echo "</td>\n";
 echo "<td>";
 echo "<input type=\"radio\" value=\"1\" name=\"online[$id]\" ";
 if($online=="1") { echo " checked";}
 echo " onClick=\"setCheck(this)\"";
 echo "> Ja</td>\n";
 echo "<td><input type=\"radio\" value=\"0\" name=\"online[$id]\" ";
 if($online=="0") { echo " checked";}
 echo " onClick=\"setCheck(this)\"";
 echo "> Nein";
 echo "</td>\n";
 echo "<td align=center>";
 echo "<input type=\"checkbox\" name=\"tc[$id]\" value=\"$id\">";

Gruß


----------



## Tobias Menzel (16. August 2004)

... Du übergibst der Funktion nicht den Index des Objektes:





> echo " onClick=\"setCheck(this)\"";


Die Funktion erwartet _2_ Parameter: das übergebende Objekt (ist eingentlich unnötig) und den Index (Nummer) der Checkbox:
	
	
	



```
echo " onClick=\"setCheck(this, 12)\"";
```

Gruß

P.S. habs ausprobiert; es funktioniert!


----------



## snackx (16. August 2004)

SUPER 

es  alles 

Vielen vielen Dank

 

Dirk


----------

