chesney: Schleife in der tabelle

Hallo,

ich habe eine Frage bitte.
Ich möchte den Status aus meiner Tabelle herausfiltern, welcher eine "1" hat. Wie kann ich da eine Schleife durch meine Tabelle laufen lassen und nur die Stelle, die status=1 hat heraus holen?
Das ganze soll unter Netscape 6.x und IE 5.5 laufen.

So sieht es ungefähr aus meine jetzige Tabelle:

<html>
<head>
  function statusFilter(){
    // hier soll die Schleife durchlaufen und nur status=1 anzeigen
  }
</head>
<body>
<form name="test">
<table width="500">
<tr>
  <td><input id="a" type="text" value="test1" status="1"></td>
</tr>
<tr>
  <td><input id="b" type="text" value="test2" status="0"></td>
</tr>
<tr>
  <td><input id="c" type="text" value="test3" status="0"></td>
</tr>
<tr>
  <td><input id="d" type="text" value="test4" status="0"></td>
</tr>
<tr>
  <td><input id="e" type="text" value="test5" status="1"></td>
</tr>
<tr>
  <td><input id="f" type="text" value="test6" status="0"></td>
</tr>
<tr>
  <td><input id="g" type="text" value="test7" status="1"></td>
</tr>
</table>
</form>
<br>
<a href="javascript:statusFilter()">StatusFilter zeigen</a>
</body>
</html>

Die tabelle kann sich beliebig lang weiter fortsetzen.

Kann jemand mir helfen ?

Danke im voraus !

Gruss,

Chesney

  1. Hallo Chesney,

    ich habe eine Frage bitte.
    Ich möchte den Status aus meiner Tabelle herausfiltern, welcher eine "1" hat. Wie kann ich da eine Schleife durch meine Tabelle laufen lassen und nur die Stelle, die status=1 hat heraus holen?
    Das ganze soll unter Netscape 6.x und IE 5.5 laufen.

    Die tabelle kann sich beliebig lang weiter fortsetzen.
    Kann jemand mir helfen ?

    Vielleicht...
    Die Frage fand ich ziemlich spannend, da ich so etwas noch nie versucht habe und mir gar nicht bewusst war, das es erlaubt ist, beliebige Attribute bei einem Tag einzufügen wie beispielsweise "status" oder "hugo", dass eröffnet eine Reihe von Möglichkeiten für mich. Zumindest funktioniert das mit dem IE. Aber es scheint nicht bei jedem Tag zu funktionieren. Zumindest nicht bei <input>, wohl aber bei <tr>.
    Vielleicht liest es jemand, der erklären kann, bei welchen Tags es funktionieren kann bzw. welcher Browser so etwas überhaupt unterstützt.
    Von daher könnte eine Lösung ungefähr so aussehen:
    <html>
    <head>
    <script type="text/javascript">
    function hugoFilter(anoderaus)
    {
        anzTR = document.getElementsByTagName('tr').length;
        for (i=0;i<anzTR;i++)
            { if (document.getElementsByTagName('tr')[i].hugo == '1')
                 {
                   document.getElementsByTagName('tr')[i].style.visibility = anoderaus;
                   if (anoderaus == 'hidden')
                      {
                       document.getElementsByTagName('tr')[i].style.height = '0px';
                       document.getElementsByTagName('input')[i].style.height = '0px';
                      }
                   else
                      {
                       document.getElementsByTagName('tr')[i].style.height = '20px';
                       document.getElementsByTagName('input')[i].style.height = '20px';
                      }
                 }
            }
    }
    </script>
    </head>
    <body>
    <form name="test">
    <table width="500">
    <tr id="tr1" hugo="1">
      <td><input id="a" type="text" value="test1" hugo="1"></td>
    </tr>
    <tr id="tr2" hugo="0">
      <td><input id="b" type="text" value="test2" hugo="0"></td>
    </tr>
    <tr id="tr3" hugo="0">
      <td><input id="c" type="text" value="test3" hugo="0"></td>
    </tr>
    <tr id="tr4" hugo="0">
      <td><input id="d" type="text" value="test4" hugo="0"></td>
    </tr>
    <tr  id="tr5" hugo="1">
      <td><input id="e" type="text" value="test5" hugo="1"></td>
    </tr>
    <tr id="tr6" hugo="0">
      <td><input id="f" type="text" value="test6" hugo="0"></td>
    </tr>
    <tr id="tr7" hugo="1">
      <td><input id="g" type="text" value="test7" hugo="1"></td>
    </tr>
    </table>
    </form>
    <br>
    <a href="javascript:hugoFilter('visible')">hugo 1 zeigen</a>  <a href="javascript:hugoFilter('hidden')">hugo 1 verstecken</a>
    </body>
    </html>
    Allerdings finde ich am Ergebnis nicht wirklich befriedigend, dass der Abstand zwischen den noch sichtbaren Elementen unterschiedlich ist, wenn es welche gibt, zwischen denen kein Element versteckt wird.

    Gruss
    Günter
    p.s.: Ich weis, das "hugo" bei den <input>-Tags überflüssig ist, aber falls jemand verifizieren möchte, das es mit <input> nicht funktioniert ist es so einfacher den Code anzupassen.