# Dropdown Menü auslesen



## docma (24. Januar 2012)

Hey.

Als erstes ich habe leider keine ahnung von Javascript.
Ich bräuchte aber ein kleinen Code für meine HP... vielleicht kann mir jemand von euch weiter Helfen.

Ich habe ein DropdownMenü


```
<body>

<select name="Dropdown">
  <option value="wert_news">News</option>
  <option value="wert_angebot">Angebot</option>
  <option value="wert_nachfrage">Nachfrage</option>
</select>

</body>
```

Beim klicken z.B auf News wird unterhalb eine neue Datei geladen z.B.


```
swfobject.embedSWF("news.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf");
```

Nun müsste aber "news.swf" variabel sein. Könnt Ihr mir ein kleines Beispiel reinstellen wie das aussehen müsste mit Javascript? Vielen Danke


----------



## docma (25. Januar 2012)

Niemand eine Idee?


----------



## CPoly (25. Januar 2012)

So in etwa


```
<select name="Dropdown" id="Dropdown">
  <option value="wert_news">News</option>
  <option value="wert_angebot">Angebot</option>
  <option value="wert_nachfrage">Nachfrage</option>
</select>
<div id="myContent"></div>
```


```
document.getElementById('Dropdown').change = function() {
   swfobject.embedSWF(this.value + ".swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf");
};
```


----------



## docma (25. Januar 2012)

Danke CPoly

Sieht schon mal sehr gut aus... mir ist noch nicht ganz klar wie ich den Dateinamen bei "data" einbauen kann. Die Function habe ich mal nach "narbe" geannt... aber ja habs noch noch nicht ganz raus...

Hier mal der Code

```
<head>
		<title>SWFObject 2 static publishing example page</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<script type="text/javascript" src="swfobject.js"></script>
		<script type="text/javascript">
		swfobject.registerObject("myId", "9.0.0", "expressInstall.swf");
		</script>
        
        
 <script type="text/javascript">
		document.getElementById('Dropdown').change = function(narbe) {
   		(this.value + ".swf");
																											};
		</script>
        
        
        
        
        
	</head>
	<body>
		<div>
        
        <select name="Dropdown" id="Dropdown">
  		<option value="wert_news">News</option>
  		<option value="wert_angebot">Angebot</option>
  		<option value="wert_nachfrage">Nachfrage</option>
		</select>

        
        
        	
			<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
				<param name="movie" value="id = narbe" />
        		<!--[if !IE]>-->
				<object type="application/x-shockwave-flash" data="test.swf" width="300" height="120">
				<!--<![endif]-->
				<div>
					<h1>Alternative content</h1>
					<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash 		player" /></a></p>
				</div>
				<!--[if !IE]>-->
				</object>
				<!--<![endif]-->
			</object>
		</div>
        
        
	</body>
```


----------



## CPoly (25. Januar 2012)

Ich weiß nicht genau was du meinst.

Ich kann dir nur sagen, dass das hier kein gültiges JavaScript ist


```
<script type="text/javascript">
    document.getElementById('Dropdown').change = function(narbe) {
    (this.value + ".swf");
</script>
```


----------



## docma (25. Januar 2012)

Ok sry...
also:

im Head greift Javascript auf den Wert "Dropdown" und macht daruas die "function" also (Wert von Dropdown + .swf


```
document.getElementById('Dropdown').change = function() {
   (this.value + ".swf");
};
```

unten im Body habe ich die Dropdownliste im Html... ich nehme an der Code oben greif ja auf die Werte von dieser liste zu und macht daraus "wert_news.swf"


```
<select name="Dropdown" id="Dropdown">
        <option value="wert_news">News</option>
        <option value="wert_angebot">Angebot</option>
        <option value="wert_nachfrage">Nachfrage</option>
        </select>
```

Und ganz unten kommt nochmals der Javascript Code der die Datei "wert_news.swf" abspielen soll. Hier müsste "Dateiname.swf" mit "Werte_news.swf" ersetzt werden.


```
<param name="movie" value="Dateiname.swf" />
```

Wie kireg ich den jetzt den neuen Dateinamen in "value="Dateiname.swf"
Tut mir echt leid, habe keien Ahnung von Javascript, für meien HP brauche ich nur diesen Codeschnipsel und möchte deswegen nicht eine ganze Programmiersprache lernen. Danke für deine Hilfe.


----------



## CPoly (25. Januar 2012)

Ok. Mehrere Probleme:

1. Wenn du "document.getElementById('Dropdown')" aufrufst, existiert das Element noch gar nicht. Denn das JavaScript wird sofort ausgeführt wenn der Parser an der Stelle ist. Aber dort wurde das Dropdown noch gar nicht geparst. -> Entweder das Skript ans Ende der Seite oder z.B. in eine window.onload Funktion

2. Es wird dir nichts bringen den Wert von "<param name="movie" value="Dateiname.swf" />" zu ändern. Denn der Wert wurde von dem Flash Objekt bereits eingelesen. Du musst also mittels JavaScript den gesamten HTML Teil:


```
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
                <param name="movie" value="id = narbe" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="test.swf" width="300" height="120">
                <!--<![endif]-->
                <div>
                    <h1>Alternative content</h1>
                    <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash        player" /></a></p>
                </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
```

neu generieren.

Es sei denn, du benutzt swfobject, was aber jetzt scheinbar doch wieder nicht der Fall ist.


----------



## docma (26. Januar 2012)

mm... ok, probier ich noch aus... doch swfobejct ist noch drin

Ich danke ich habe jetzt eine lösung gefunden... die zumindest mit Bildern funktioniert... allerdings funktioniert nicht ganz wenn ich das SWF einbetten möchte... wie muss das aussehen bezüglich ("")... usw.

hier der Code

```
if (oValue == "news") {$.fancybox(["test.jpg"], {onClosed		: function() {document.getElementById("selectMenu").value = "first";lastValue = "first";},"type"	: "image",	'overlayShow'	: false,
```

so funktionierts leider nicht...

```
if (oValue == "news") {$.fancybox(["swfobject.embedSWF("test1.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf");"], {onClosed		: function() {document.getElementById("selectMenu").value = "first";lastValue = "first";},"type"	: "image",	'overlayShow'	: false,
```

Ok habe den Type vergessen... das Flash wird geladen allerdings wird das Bild nicht geladen... Ideen? PS läuft jetzt über iquery fancybox


```
if (oValue == "news") {$.fancybox([swfobject.embedSWF("test1.swf", "300", "120", "9.0.0", "expressInstall.swf")], {onClosed		: function() {document.getElementById("selectMenu").value = "first";lastValue = "first";},"type"	: "swf",	'overlayShow'	: false,
				'titleShow'		: false,
				'padding'		: 0,
				'transitionIn'	: 'fade',
				'transitionOut'	: 'fade',
				'changeFade'	: 200,
				'scrolling'		: 'no',
				'cyclic'		: false,
				'opacity'		: true,
				'margin'		: 0,
				'autoScale'		: false
```


----------

