Markus: Tabelle Markieren

Hallo,

Ich habe ein Problem für folgende Problematik:

Ein HTML Tabelle: es soll eine Zeile markiert werden, wenn diese angeklickt wird.
Soweit ist dies noch kein Problem. Wenn eine neue Zeile angeklickt wird, soll die vorher angeklickte Zeile wieder normal werden, und die neue markiert werden.

ich habe wirklick keine Ahnung über so ein Problem:

normal:
tr onclick="style.background='#dfdfdf'"

Kann mir jemand helfen?

  1. Nachtrag:

    So dass in dieser tabelle immer nur eine Zeile markiert ist!!

  2. Hallo Markus,

    Ein HTML Tabelle: es soll eine Zeile markiert werden, wenn diese angeklickt wird.
    Soweit ist dies noch kein Problem. Wenn eine neue Zeile angeklickt wird, soll die vorher angeklickte Zeile wieder normal werden, und die neue markiert werden.

    Ich würde dieser Tabelle eine ID verpassen. Dann könnte ich alle ihre Zeilen über

      
    var meineZeilen = document.getElementById('meineTabelle').getElementsByTagname('TR')
    ~~~ ansprechen.  
      
    Bei jedem Klick auf eine Zeile durchläufst du das Array in einer For-Schleife bis meineZeilen.length (exklusive) und setzt dabei alle Zeilenhintergründe wieder auf die Normalfärbung zurück. Danach setzt du die angeklickte Zeile auf die Markierungsfarbe.  
      
    Gruß Gernot
    
    1. Hallo Gernot,
      vielen dank für deine schnelle Antwort.
      Mit Javaschript bin ich jedoch nicht so fit.
      Ich kenne mich mit php, C und c++ ein bischen aus.
      Kannst du mir ein Beispiel nennen?

      Vielen dank!!

      Grüße

      Markus

    2. Nachtrag:

      Das Problem: Es handelt sich um ein Oscommerce Shop in der Entwicklung. Die Zeilen Anzahl variiert erheblich.

      Gruß

      Markus

      1. Hallo Markus,

        Nachtrag:

        Das Problem: Es handelt sich um ein Oscommerce Shop in der Entwicklung. Die Zeilen Anzahl variiert erheblich.

        Mein Tipp war ja auch gerade für eine variable Zeilenanzahl gedacht, mit meineZeilen.length erwischst du in jedem Fall alle Zeilen deiner Tabelle. For-Schleifen und die Eigenschaft length für Arrays gibt es in PHP, C und C++ auch, soweit ich mich erinnere.

        Gruß Gernot

        1. Hallo nochmal,

          (...) die Eigenschaft length für Arrays gibt es in PHP (...) auch, soweit ich mich erinnere.

          Kann sein, dass es in PHP 'count' oder so heißt.

          Gruß Gernot

          1. Hallo,

            in php heißt dies count, ist richtig!!

            Gruß

            Markus

            1. Ich habe die Lösung getestet (DEMO),
              hoffe ich nur, dass dies auch so in meinem Shop anwendbar ist,
              dort es es etwas komplezierter.
              Das Script wird Global in der index.php eingearbeitet.
              Während die Tabelle gespalten ist (Ohne Kopfzeile -- ist extra ausgegeben) und das ganze in einem extra frame. Natürlich wird alles als *.php aufgerufen. Werde ich am Montag sehen.
              Hier mein Demo Code:

              <html>
              <head>
              <title>Aufbau einer Tabelle</title>
              </head>
              <body>
              <script type="text/javascript">
              <!--
              function setStyle(obj,e)
              {
              if(e)
              for (var i = 0; i < document.getElementsByTagName("tr").length; i++) {
                  document.getElementsByTagName("tr")[i].style.backgroundColor = "#ffffff";
                }

              obj.style.backgroundColor = '#dfdfdf';
              }

              //-->
              </script>

              <h1>Tabelle mit Gitternetzlinien</h1>

              <table border="1">
                <tr onclick='setStyle(this,true)'>
                  <th>Berlin</th>
                  <th>Hamburg</th>
                  <th>M&uuml;nchen</th>
                </tr>
                <tr onclick='setStyle(this,true)'>
                  <td>Milj&ouml;h</td>
                  <td >Kiez</td>
                  <td>Bierdampf</td>
                </tr>
                <tr onclick='setStyle(this,true)'>
                  <td>Buletten</td>
                  <td>Frikadellen</td>
                  <td>Fleischpflanzerl</td>
                </tr>
              </table>

              </body>
              </html>

              Grüße Markus

        2. Hallo,

          Vielen Dank, ich werde es am Montag ausprobieren.

          mfg

          Markus

        3. Hallo Gernot.

          Mein Tipp war ja auch gerade für eine variable Zeilenanzahl gedacht, mit meineZeilen.length erwischst du in jedem Fall alle Zeilen deiner Tabelle.

          Oder gleich mit http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#table@title=rows.

          Einen schönen Samstag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          mathbr:del.icio.us/ mathbr:w00t/