Henrik Ahlers: <option...onChange...>

hallo,
kann es funktionieren, innerhalb einer <select> mit jeder <option> eine andere function aufzurufen. so wie unten ging es nicht. was mache ich falsch?

<select name="Kapitel">
<option value="010" onChange="Sprung010">test1</option>
<option value="011" onChange="Sprung011">test2</option>
<option value="012" onChange="Sprung012">test3</option>
</select>

ciao henrik

  1. Hallo,

    <select name="Kapitel">
    <option value="010" onChange="Sprung010">test1</option>
    <option value="011" onChange="Sprung011">test2</option>
    <option value="012" onChange="Sprung012">test3</option>
    </select>

    Vielleicht weil die Funktionsklammern fehlen?

    1. ...hilft leider auch nicht! trotzdem danke

  2. hi,

    kann es funktionieren, innerhalb einer <select> mit jeder <option> eine andere function aufzurufen. so wie unten ging es nicht. was mache ich falsch?
    <option value="010" onChange="Sprung010">test1</option>

    "was ist der unterschied zwischen einem pinguin?"

    oder, mal anders gefragt, welche bedeutung möchtest du onChange (= bei _veränderung_) einer einzelnen option zusprechen?
    die option an sich ändert sich kein bisschen.

    rufe _eine_ funktion per onChange im select auf - und lasse ggf. diese in abhängigkeit von der gewählten option weitere (unterschiedliche) funktionen aufrufen.

    mit dem selektierten index und switch() zu arbeiten, könnte sich dabei anbieten.

    gruss,
    wahsaga

    1. hi,

      kann es funktionieren, innerhalb einer <select> mit jeder <option> eine andere function aufzurufen. so wie unten ging es nicht. was mache ich falsch?
      <option value="010" onChange="Sprung010">test1</option>

      "was ist der unterschied zwischen einem pinguin?"

      oder, mal anders gefragt, welche bedeutung möchtest du onChange (= bei _veränderung_) einer einzelnen option zusprechen?
      die option an sich ändert sich kein bisschen.

      rufe _eine_ funktion per onChange im select auf - und lasse ggf. diese in abhängigkeit von der gewählten option weitere (unterschiedliche) funktionen aufrufen.

      mit dem selektierten index und switch() zu arbeiten, könnte sich dabei anbieten.

      gruss,
      wahsaga

      hallo,
      mein eigentliches ziel ist auf

      http://www.henrik-ahlers.de/selfhtml/

      zu sehen. ich versuche über das menü auch jede seite direkt anzusteuern, nicht nur über das blättern der einzelnen seiten.

      ciao henrik

      1. hi,

        mein eigentliches ziel ist auf
        http://www.henrik-ahlers.de/selfhtml/
        zu sehen.

        glückwunsch! - na und ...?
        hast du versucht, die dir gegebenen hinweise umzusetzen?

        btw: bitte verzichte auf so sinnlose fullquotes, und zitiere nur das, worauf du dich beziehst.

        gruss,
        wahsaga

        1. hast du versucht, die dir gegebenen hinweise umzusetzen?

          ja, aber ...bin leider nicht so gut und am ende meines latains. ich muss ja immer wieder in der function <blättern> landen, um normal weiter blättern zu können. trotzdem, danke. oder hast du noch eine idee?
          ciao henrik

      2. Hi,

        http://www.henrik-ahlers.de/selfhtml/

        Deine Funktion Sprung2(Ziel) erwartet als Parameter eine Zahl, erhält aber einen String (Bild[3] ist nicht Bild["3"]). Mit parseInt() oder Number() könntest du den String in eine Zahl verwandeln. http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm

        Außerdem solltest du bei der Positionierung jeweils Einheiten angeben.

        Grüße, Stefan

        1. hallo und schon mal danke, durch die angefügten einheiten bringt es auch mozilla.

          kann ich, damit die function blättern noch funktioniert, aus der ja sprung2(ziel) entnommen wurde, sprung2(ziel) einen string erwarten lassen? beide functionen greifen ja auf den gleichen array zu. wenn ja, wie kann das aussehen? ich bin leider nicht so der fuchs!

          ciao henrik

          1. Hi,

            hallo und schon mal danke, durch die angefügten einheiten bringt es auch mozilla.

            kann ich, damit die function blättern noch funktioniert, aus der ja sprung2(ziel) entnommen wurde, sprung2(ziel) einen string erwarten lassen? beide functionen greifen ja auf den gleichen array zu. wenn ja, wie kann das aussehen? ich bin leider nicht so der fuchs!

            Das mit dem Fuchs braucht halt Zeit!

            function Sprung(Ziel) { // hier wird als Parameter eine Zahl übergeben
             zeige = Ziel;          // also ist auch zeige eine Zahl
             ...
             ...  Bild[zeige].src;  // und Bild[zeige] ist definiert

            function Sprung2(Ziel) { // hier wird als Parameter ein String übergeben
             zeige = Ziel;           // also ist auch zeige ein String
             ...
             ...  Bild[zeige].src;   // und Bild[zeige] ist nicht definiert

            um zu erreichen, dass auch hier zeige eine Zahl ist, könntest du schreiben: zeige = parseInt(Ziel);

            Grüße, Stefan

            1. Das mit dem Fuchs braucht halt Zeit!

              ein abendliches hallo nochmal. und danke für obige mutmachung! vor allem aber danke für deine hinweise. klappt nicht nur, sondern ich habs auch noch begriffen. wie lange hab ich da schon drangesessen...

              darf ich dich nochmal um rat fragen?!

              über den button "grosses bild" soll eine vergrößerte Ansicht des gerade anzeigten bildes "blank" geöffnet werden. wie kann ich den wert des gerade angezeigten bildes an diesen button übergeben?

              ciao henrik
              (wenn du mal 'ne fotografische frage hast...)

              1. Hi,

                klappt nicht nur, sondern ich habs auch noch begriffen.

                Das ist sehr erfreulich, aber trotzdem - auch wenn's funktioniert - noch ein Gedanke dazu: Mir ist nämlich aufgefallen, dass die Funktionen "Sprung()" und "Sprung2()" sich nur dadurch unterscheiden, dass einmal eine Zahl und einmal ein String übergeben wird. Geschickter wäre es natürlich, nur eine Funktion zu haben und den Variablentyp schon beim Aufruf in eine Zahl zu verwandeln, also "Sprung(parseInt(...))".

                über den button "grosses bild" soll eine vergrößerte Ansicht des gerade anzeigten bildes "blank" geöffnet werden. wie kann ich den wert des gerade angezeigten bildes an diesen button übergeben?

                Wenn ich das richtig sehe, enthält die globale Variable "zeige" immer die Index-Nummer des gerade geladenen Bildes. Du brauchst also nichts zu übergeben, sondern der Button könnte eine Funktion aufrufen, welche dann "zeige" verwenden kann. Wenn du z.B. analog zum Array "Bild" noch ein zweites Array "GrossesBild" definierst, hättest du mit "GrossesBild[zeige]" jeweils das zum kleinen Bild passende große Bild.

                Grüße, Stefan