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

Hi,
PHP:
<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ß
 
...

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
 
... sicher, Du brauchst nur den onClick- (oder onChange) Handler in den Tags sowie das dazugehörige JS ebenfalls mit echo ausgeben...

Gruß
 
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
 
er nimmt leider immer nur den letzten?
... den letzten was?
PHP:
<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:
PHP:
<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ß
 
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ß
 
... 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:
PHP:
echo " onClick=\"setCheck(this, 12)\"";

Gruß

P.S. habs ausprobiert; es funktioniert!
 
Zurück