Dropdownliste soll versch. functionen aufrufen

Argonsputter

Grünschnabel
hi,

eigendlich muss es ja ganz einfach sein... ;)

Ich möchte aus einem dropdownmenü einfach nur verschiedene javascript "functionen" öffnen.

HTML:
....
<SELECT NAME="auswahl" SIZE=1>
     <OPTION >Beschreibung 1 </option>
    <OPTION >Beschreibung 2 </option>
    <OPTION >Beschreibung 3 </option>
    <OPTION >Beschreibung 4</option>
  </SELECT>
.....

Beschreibung 1 soll z.B. die "function beschreibung ()" laden
Beschreibung 2 soll z.B. die "function beschreibung ()" laden u.s.w

ich hab bisher immer nur die onchange="function xyz()" gefunden,aber keine wo direkt verschiedene functionen aufgerufen wurden.

kann wer bitte helfen? :(
 
Argonsputter hat gesagt.:
hi,

eigendlich muss es ja ganz einfach sein... ;)

Ich möchte aus einem dropdownmenü einfach nur verschiedene javascript "functionen" öffnen.

HTML:
....
<SELECT NAME="auswahl" SIZE=1>
     <OPTION >Beschreibung 1 </option>
    <OPTION >Beschreibung 2 </option>
    <OPTION >Beschreibung 3 </option>
    <OPTION >Beschreibung 4</option>
  </SELECT>
.....

Beschreibung 1 soll z.B. die "function beschreibung ()" laden
Beschreibung 2 soll z.B. die "function beschreibung ()" laden u.s.w

ich hab bisher immer nur die onchange="function xyz()" gefunden,aber keine wo direkt verschiedene functionen aufgerufen wurden.

kann wer bitte helfen? :(


Als erstes bitte folgendes ändern:
<OPTION VALUE="1">Beschreibung 1 </option>

Dann als onchange eine function x angeben, in der function x wertest du document.formularname.auswahl.value aus und rufst von dort dann je nach wert eine andere Funktion auf.

Code:
<SELECT NAME="auswahl" SIZE=1 onchange="auswahl();">

Code:
function auswahl ()
{
 if (document.formularname.auswahl.value == "1") {  beschreibung_1(); }
 if (document.formularname.auswahl.value == "2") {  beschreibung_2(); }
}

Dieses jetzt noch um weitere Befehle erweitern...

Marcus
 
Hi,

Du kannst die Funktionsnamen in die value-Attribute der option-Tags schreiben. Im onchange-Event
rufst Du mit Hilfe von eval die gewünschte Funktion auf.

Beispiel:
Code:
<script type="text/javascript">
  <!--
  function func1(){ alert("Ich bin Funktion 1");}
  function func2(){ alert("Ich bin Funktion 2");}
  function func3(){ alert("Ich bin Funktion 3");}
  //-->
</script>

<select name="auswahl" size="1" onchange="eval(this[this.selectedIndex].value+'()');">
  <option value="func1">Beschreibung 1</option>
  <option value="func2">Beschreibung 2</option>
  <option value="func3">Beschreibung 3</option>
</select>
Vielleicht hilft das weiter.

Ciao
Quaese
 
in der nacht ist mir Lösung 1 als Switch variante auch eingefallen. Aber Lösung 2 ist weniger Quellecode.


Besten dank,ripkens und Quasse! :) damit wäre das Problem wohl gelöst.

das "eval" war mir völlig unbekannt.
 
einen hab ich noch ;)

also ich hab mich für
HTML:
<form>
<select name="auswahl" size="1" onchange="eval(this[this.selectedIndex].value+'()');">
 <option value="func1" id="func1">Beschreibung 1</option>
  <option value="func2" id="func2">Beschreibung 2</option>
  <option value="func3" id="func3">Beschreibung 3</option>
   </select>
</form>
entschieden....klappt super. ok, aber ich hab alles so eingerichtet, dass ich die functionen func1(),func2() etc. auch von einen anderen Link aufrufen kann. Und wenn ich diese functionen aufrufe, dann soll in diesem Pulldown auch der FOcus drauf gesetzt werden.
ich habs mit

HTML:
window.document.forms[1].getElementById("func1").focus();
probiert. Aber dies wird wohl nicht unterstützt.
 
Zuletzt bearbeitet:
das kann doch wohl nicht angehen... das klappt ja :-)

super, danke!

aber so langesam mache ich mir gedanken, wie ich mir selber sowas beibringen kann. Habt ihr mal gute JavaScript Lektüren oder Referenzen. Kann euch ja nich immer mit meinen Newbie-Fragen nerven :)

Besser ich schau mal nach nem FAQ wegen JavaScript Lektüren-Empfehlungen.
 

Neue Beiträge

Zurück