Mirco: Onclick soll Zellenfarbe aendern

Moin, ich habe schon vieles probiert, aber vielleicht kennt ihr ja eine lösung.

Ausgangslage eine Tabelle, 2 Zeilen, die erste Zeile ist unterteilt in wieder 2.
in einer ja andere nein(selected), ich wollte sobald man auf ja klickt soll die darunter liegende zeile organge bei nein grau. es ist halt immer diese schwierigkeit, die farbe zu aendern, aufgrund das sie nicht die selbe zeile benutzt.

Danke für Vorschläge
_______________________________________________
|            ja °      |         nein °        |
|----------------------------------------------|
|______(hier soll sich die farbe aendern_______|

<td>ja<input type='radio' name='status' value='0'></td>
<td>nein<input type='radio' name='status' value='1'></td>

<td colspan='2'>Farbe</td>

  1. habe was vergessen ;-)

    <table border=1>
    <tr>
     <td>ja<input type='radio' name='status' value='0'></td>
     <td>nein<input type='radio' name='status' value='1'></td>
    </tr>

    <tr>
     <td colspan='2'>Farbe</td>
    </tr>

    </table>

  2. hi,

    es ist halt immer diese schwierigkeit, die farbe zu aendern, aufgrund das sie nicht die selbe zeile benutzt.

    was dir fehlt, ist also eine möglichkeit, die tabellenzelle/-zeile per javascript anzusprechen, richtig?

    z.b. getElementById() könnte dir da helfen, oder eine der anderen getElement(s)By...-methoden.

    gruss,
    wahsaga

    1. hi,

      es ist halt immer diese schwierigkeit, die farbe zu aendern, aufgrund das sie nicht die selbe zeile benutzt.

      was dir fehlt, ist also eine möglichkeit, die tabellenzelle/-zeile per javascript anzusprechen, richtig?

      z.b. getElementById() könnte dir da helfen, oder eine der anderen getElement(s)By...-methoden.

      gruss,
      wahsaga

      ja genau, werde es mal so versuchen, hast du sowas schonmal gemacht?!
      danke erstmal

      1. hi,

        ja genau, werde es mal so versuchen, hast du sowas schonmal gemacht?!

        was ändert es an dem, was du jetzt versuchen wirst, ob ich ja oder nein sage? ;-)

        nach fertigem code wirst du ja wohl nicht fragen wollen, oder ...?

        gruss,
        wahsaga

  3. Hi,

    Moin, ich habe schon vieles probiert, aber vielleicht kennt ihr ja eine lösung.

    das ist eher trivial, wenn es um neuere Browser geht. Schau Dir den folgenden Test an, bei dem ueber den Eventhandler onclick eine Funktion go() gerufen wird. In Klammern uebergibst Du als Parameter this, also die Referenz auf die Tabellenzelle.
    Die Funktion prueft ob es ein Dombrowser ist, und schaltet per Zugriff auf die Css-Styleeigenschaft background-color die Farbe wechselweise um. (Die Fragezeichengeschichte ist eine verkuertzte if-else-Abfrage).
    Na denne:
    <html>
    <head>
    <script language="javascript" type="text/javascript">
    function go(id) {
     if (document.documentElement) { // ist es ein Dombrowser?
      id.style.backgroundColor =  (id.style.backgroundColor == "red")? "blue" : "red";
     }
    }
    </script>
    </head>
    <body>
    <table cellspacing="3" cellpadding="3" border="1">
    <tr>
     <td onclick="go(this)">Cell 1</td>
     <td onclick="go(this)">Cell 2</td>
    </tr>
    </table>
    </body>
    </html>

    Gruesse  Joachim

  4. hier mal ein versuch von mir klappt eigentlich ganz gut
    also ja klicken 2 zeile aendert auch die farbe, aber sobald ich auf nein klicke muesste sie wieder grau werden. habe da noch keine lösung gefunden. jemand einen rat?!

    var farben=new Array("#f0f0f0","#f0f0f0","#f0f0f0");

    function an(nr){
        if(document.getElementById){
          for(i=0;i<farben.length;i++){
             if((nr-1)!=i){
                document.getElementById("C"+(i+1)).style.backgroundColor="#FFD700";
             };
          };
        };
      };
      </script>
     </head>
     <body>
       <table border="1" cellspacing="0">
         <tr>
          <td id="C1">ja<input type="radio" name="status" value="0" onclick="an('2')"></td>
          <td id="C2">nein<input type="radio" name="status" value="1" onclick="an('1')"></td>
          </tr>
    <tr>
     <td  id="C3" colspan="2">Farbe</td>
    </tr>

    </table>

    1. hier ist die lösung

      var farben=new Array("#f0f0f0","#f0f0f0","#f0f0f0");

      function an(nr){
          if(document.getElementById){
            for(i=0;i<farben.length;i++){
               if((nr-1)!=i){
                  document.getElementById("C"+(i+1)).style.backgroundColor="#FFD700";
               };
            };
          };
        };

      function standard(){
          if(document.getElementById){
            for(i=0;i<farben.length;i++){
               document.getElementById("C"+(i+1)).style.backgroundColor="#f0f0f0";
            };
          };
        };

      </script>
       </head>
       <body>
         <table border="1" cellspacing="0">
           <tr>
            <td id="C1">ja<input type="radio" name="status" value="0" onclick="an('2')"></td>
            <td id="C2">nein<input type="radio" name="status" value="1" onclick="standard()"></td>
            </tr>
      <tr>
       <td  id="C3" colspan="2">Farbe</td>
      </tr>

      </table>