Radio-Button auswählen bei klicken einer Tabellenzeile

d4kine

Erfahrenes Mitglied
Wie mein präzise ausgedrückter Titel schon sagt, will ich wissen wie das geht..

Als erstes werden verschiedene Felder aus meiner Datenbank ausgelesen und ausgeben.
Wenn ich jetzt aber auf eine Zeile klicke, dann soll der mir am anfang der Zeile den dazugehörigen Radio-Button anwählen.

Code:
PHP:
/** [...] **/
echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">";
/** [...] mysql_connect und so **/

  while ($row = mysql_fetch_array($result))
   {
   $gbid    = $row['id'];
    echo "<tr onMouseOver=\"this.bgColor='#e6ffdb'\" onMouseOut=\"this.bgColor='#ffffff'\" height=\"17\">";
    echo "<td><input type=\"radio\" name=\"idselect\" value=\"$gbid\" border=\"0\"></td>";
   }
   echo "</table>";

Hat jeder das problem verstanden?

Ich brauche eigentlich nur nen onClick="xxxx" Befehl, den ich dann in <tr> reinsetzten kann.
 
Forumsuche hilft ;)
--> klick <--

trotzdem, so müssts gehen.

Javascript:
function tuwas()
{        
    document.forms[0].r1.checked = true;
}

HTML:
<form> 
    <input type="radio" name="r1" />
    <input type="radio" name="r2" />
</form>

<table border="1">
    <tr>
        <td onclick="tuwas();">klick</td>
    </tr>
</table>

lg Masda
 
So mache ich das immer:

Hier ein Beispiel mit einer Checkbox:

HTML:
<LABEL for="beispiel"><TR><TD><INPUT type="checkbox" id="beispiel"></TD></TR></LABEL>

Und dann sollte das funktionieren
 
Und für die Zukunft wäre es schon, wenn du im Javascript Forum kein php postest. Nicht jeder Javascripter kann php und es ist einfach nicht das php-Forum. Für jedes Javascript Problem reicht die HTML-Ausgabe des Browsers.
Außerdem ist es bei so Sachen, wie escapten Anführungszeichen und Schleifen mühsam sich den richtigen HTML-Code vorzustellen. Es geht, keine Frage, aber du bist es, der Hilfe will uns solltest es uns daher so leicht wie möglich machen.
 
Dein Beispiel ist aber nicht valide. Denn das label-Element ist in diesem Kontext nicht erlaubt. Besser wäre:
HTML:
<tr><td><label><input type="checkbox"></label></td></tr>
 
Sorry wegen PHP-Code und danke für die Antworten.

Habs ausprobiert, und mit dem Label kam ich nicht klar. Die andere Variante von Biergamasda hat aber auch nicht geklappt, da mein Radio-Button UND die Tabelle in einem form sind, wie Ihr seht, also funktioniert das auch nicht :(
 
Zuletzt bearbeitet:
Wie sieht denn dein bisheriges Dokument aufgebaut? In meinem Beispiel müsste dem label-Element mit display:block noch Block-Level-Element-Charakteristika zugeweisen werden, damit das Element den gesamten verfügbaren Platz einnimmt. Das hatte ich vergessen.
 
Bisher sieht mein Aufbau so aus:

Code:
<form method="GET" target="newWindow" onsubmit="window.open('about:blank', 'newWindow', 'width=400,height=400')">

<table>
<!----- Der Bereich jetzt wird von einer mysql-datenbank ausgelesen und öfters ausgegeben --->
<label>
<tr onMouseOver="this.bgColor='#e6ffdb'" onMouseOut="this.bgColor='#ffffff'" height="17">
</label>
<td><input type="radio" name="idselect" value="test" border="0"></td>
</tr>
<!---- ende der auslesung --->
</table>

Value ist immer unterschiedlich aber <tr> wird öfters ausgegeben, wie auch die input-box
 
Ich erwähnte doch bereits, dass solch eine Struktur nicht erlaubt ist. Das label-Element ist ein so genanntes Inline-Element und darf deshalb nur in einem Kontext verwendet werden, in dem Inline-Elemente erlaubt sind. Im Fall einer Tabelle wäre das etwa die Tabellenzelle.

Ach übrigens: Wofür ist in deinem Fall die Tabelle, wenn es doch nur jeweils eine Tabellenzelle gibt?
 

Neue Beiträge

Zurück