lale: +/- hide/show row

hallo habe ein script wo ich aber in problem habe :

<html>
<head>
<script langauge="javascript">
<!--
function show(rowID) {
 if (eval('tr'+rowID+'.className')=="hide") {
      eval('tr'+rowID+'.className="show"')
      eval('img'+rowID+'.src="images/minus.gif"');
 }
 else {
      eval('tr'+rowID+'.className="hide"')
      eval('img'+rowID+'.src="images/plus.gif"');
 }
}
//-->
</script>
<style>
<!--
.hide        { visibility: hidden; display: none }
.show        { visibility: visible; display: block }
//-->
</style>
</head>
<body>

<table border=1 cellspacing=1 cellpadding=5>
  <tr>
    <td><a style="cursor:hand" onclick="show('1')"><img name="img1" border="0" src="images/plus.gif" width="10" height="10">
      Topic 1</a></td>
  </tr>
  <tr id="tr1" class="hide">
    <td>Information for Topic 1 here</td>
  </tr>
  <tr id="tr4" class="hide">
    <td>456454565</td>
  </tr>
  <tr>
    <td><a style="cursor:hand" onclick="show('2')"><img name="img2" border="0" src="images/plus.gif" width="10" height="10">
      Topic 2</a></td>
  </tr>
  <tr id="tr2" class="hide">
    <td>Information for Topic 2 here</td>
  </tr>
  <tr>
    <td><a style="cursor:hand" onclick="show('3')"><img name="img3" border="0" src="images/plus.gif" width="10" height="10">
      Topic 3</a></td>
  </tr>
  <tr id="tr3" class="hide">
    <td>Information for Topic 3 here</td>
  </tr>
</table>
</body>
</html>

meine frage dazu :

wie kriege ich es hin, dass bei onclick="show('1')" z.B auch die tr4 angezeigt wird - wie muss ich das verknüpfen d,dass tr1&tr4 sehen kann ...

danke & gute nacht

  1. moin,

    <script langauge="javascript">

    1. Syntax-Fehler: langUAge
    2. Argument "type" fehlt

    .hide { visibility: hidden; display: none }
    .show { visibility: visible; display: block }

    Ich verstehe nicht ganz was du hiermit bezwecken willst?! So wie es hier definiert ist, ist das doppelt gemoppelt! Entweder Visibility oder Display. Bei Display werden aber NS 4.x User Darstellungsprobleme bekommen. Abschließende Semikola sollten auch noch ergänzt werden bei "none // block".

    meine frage dazu :

    wie kriege ich es hin, dass bei onclick="show('1')" z.B auch die tr4 angezeigt wird - wie muss ich das verknüpfen d,dass tr1&tr4 sehen kann ...

    Ich sehe nicht wo du das überhaupt versucht hast. Du übergibst mit deinem Funktionsaufruf lediglich ein Parameter, ergo kann auch nur eines aus-//eingeblendet werden.

    Etwas mehr infos wäre wünschenswert gewesen, wie z.b. mit welcher Browsergeneration es laufen soll, womit du es getestet hast. Konkretere Aufgabenstellung (Genaues Einsatzgebiet deines Scriptes, wenn es nur zum ein-//ausblenden gedacht ist, gibt es wesentlich einfachere Möglichkeiten, siehe dazu die Self-doku bzw. im Archiv).

    Schönen Tag noch

    Oliver

  2. hi,

    <td><a style="cursor:hand" onclick="show('1')"><img name="img1" border="0" src="images/plus.gif" width="10" height="10">
          Topic 1</a></td>

    • cursor:hand gibt es nicht.
    • die cursor-angabe wäre aber auch gar nicht nötig, wenn du einen korrekten link definieren würdest - deinem fehlt das href-attribut.
    • hast du schon mal versucht, die funktion zwei mal hintereinander mit unterschiedlichem parameter aufzurufen, wenn sie auch zwei aktionen ausführen soll?

    gruss,
    wahsaga