Über Auswahlliste zu Anker auf selben Seite springen

  • Hallöchen ihr lieben,
    ich arbeite grade an der Darstellung einer Tabelle aus MySQL. Die Tabelle ist fertig und wird auch richtig dargestellt.
    Jetzt möchte ich gerne eine Auswahlliste über der Tabelle haben, mit der man zu einem bestimmten Eintragsdatum springen kann.

    Hier mal der COde für die Auswahlliste

    PHP
    <form action="Statistiken.php" method="post">
      <select name="Datumauswahl" size="1" id="Jumptodate" name="Jumptodate" onchange="location.href = 'Statistiken.php?#' + this.options[this.selectedIndex].value;">
            <?php
    while ($row = mysql_fetch_array($ergebnis)) {
        echo '<option value="' . $row[0] . '">' . date_mysql2german($row[0]) . '</option>';
    }
    mysql_data_seek($ergebnis, 0);
    ?>
    </select>
    </form>


    Ich habe im Netz geforscht und der Eventhandler onchange wäre genau das richtige, allerdings will der nicht zu dem Eintrag springen.

    Zur Tabelle:

    PHP
    echo '<td><a name="#' . $row[0] . '">', date_mysql2german($row[0]), "</a></td>";


    Jeder Datumswert kriegt einen Anker, jedes Datum kommt nur einmalig vor.

    Im generierten HTML Quelltext stimmt die Tabelle soweit, aber er springt eben nicht, wenn man etwas Auswählt.

    Würde mich über eure Hilfe freuen.

  • PHP hat nur 20 Sekunden zum ausführen, danach wird es beendet. Für das, was du machen willst, musst du JavaScript benutzen.
    Dazu machst du einen Button und eine ListBox, die du mit einer id versiehst (tag id="listbox"). Beim Button wird das onclick-Event hinzugefügt: Tag onclick="jump()". Dann zum Javascript: Mit GetElementById("listbox") kriegst du die Listbox als Objekt, irgendwie kann man dann auch herausfinden, was ausgewählt ist (google).

    Das muss natürlich, da wir die Funktion jump() aufrufen, wenn das Event passiert, in die jump-Funktion
    functon jump()
    {
    var obj=.."listbox"..;

    }

    Wenn du das Ausgewählte hast, brauchst du nur noch den Anker zu der Adresse hinzufügen:
    window.location.href+="#anker";


    So müsste das funktionieren.
    Die Listbox kann natürlich weiterhin mit PHP erstellt werden

  • Habs jetzt so gelöst:

    Die Auswahl:

    Er springt hin, genauso wie ich es wollte ;)