klaus: javascript klapptext

moin!

ich hab hier eine datenbankauslese bei dem ein bestimmter teil über ein javascript ein- bzw. ausgeblenet werden kann. das funktioniert, soweit nur ein eintrag in der db vorhanden is auch super, doch sobald es mehrere werden, öffnet sich, egal auf welchen man klickt, der klapptext der zum ersten eintrag gehört...kann mir jemand sagen wie man das javascript ändern müsste?? das wäre wiklich klasse!

<?php
        while ($row = mysql_fetch_object($out))
         {
          ?>

<script language="JavaScript">
            function expandcollapse(contentid, buttonid)
            {
              if (document.getElementById(contentid).style.display == 'none')
              {
                document.getElementById(contentid).style.display = '';
                document.getElementById(buttonid).src = 'img/minus.gif';
              }
              else if(document.getElementById(contentid).style.display == '')
              {
                document.getElementById(contentid).style.display = 'none';
                document.getElementById(buttonid).src = 'img/plus.gif';
              }
            }
          </script>
          <tr>
            <td width="12"><span onMouseUp="expandcollapse('content1', 'button1')" style="cursor: hand"><img src="img/plus.gif" id="button1"></span></td>
            <td width="308">
            <a href="<?php echo "$row->db_url"; ?>" target="blank"><?php echo "$row->db_name"; ?></a>

<span id="content1" style="display: none"><br><?php echo "$row->db_comment"; ?></span>

</td>
           <td width="100"><?php echo "$row->db_clicks"; ?> clicks</td>
          </tr>
          <?php
         }
       ?>

vielen dank,
klaus

  1. abend,

    ich hab hier eine datenbankauslese bei dem ein bestimmter teil über ein javascript ein- bzw. ausgeblenet werden kann. das funktioniert, soweit nur ein eintrag in der db vorhanden is auch super, doch sobald es mehrere werden, öffnet sich, egal auf welchen man klickt, der klapptext der zum ersten eintrag gehört...kann mir jemand sagen wie man das javascript ändern müsste?? das wäre wiklich klasse!

    du packst eine zählvariable in deine while-schleife, die bei 0 anfängt und sich
    bei jedem durchlauf um 1 erhöht. und überall da, wo button und content angegeben
    wird, ersetzt du die bisher statische 1 durch die entsprechende nummer des durchlaufes.

    <?php

    $i = 0;

    while ($row = mysql_fetch_object($out))
             {
              ?>

    <script language="JavaScript">
                function expandcollapse(contentid, buttonid)
                {
                  if (document.getElementById(contentid).style.display == 'none')
                  {
                    document.getElementById(contentid).style.display = '';
                    document.getElementById(buttonid).src = 'img/minus.gif';
                  }
                  else if(document.getElementById(contentid).style.display == '')
                  {
                    document.getElementById(contentid).style.display = 'none';
                    document.getElementById(buttonid).src = 'img/plus.gif';
                  }
                }
              </script>
              <tr>
                <td width="12">

    »»<span onMouseUp="expandcollapse('content1', 'button1')" style="cursor:
    ------------------------------------------^  --------^
    »»hand"><img src="img/plus.gif" id="button1"></span></td>

    <td width="308">
                <a href="<?php echo "$row->db_url"; ?>" target="blank"><?php echo "$row->db_name"; ?></a>

    <span id="content1" style="display: none"><br><?php echo

    --------------------------------^

    "$row->db_comment"; ?></span>

    </td>
               <td width="100"><?php echo "$row->db_clicks"; ?> clicks</td>
              </tr>
              <?php

    $i++;

    }
           ?>

    hoffe hab jetzt nichts übersehen..

    mfg,
    (tanz das)
    Z.N.S.

    --

    .:LIFE ON OTHER PLANETS IS DIFFICULT:.
    1. Hallo,

      hoffe hab jetzt nichts übersehen..

      den JavaScript-Teil würde ich aber nicht in die Schleife packen ...

      Grüße,

      Sebastian Becker

      1. abend,

        den JavaScript-Teil würde ich aber nicht in die Schleife packen ...

        ja, unbedingt.

        mfg,
        (tanz das)
        Z.N.S.

        --

        .:LIFE ON OTHER PLANETS IS DIFFICULT:.