• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mit Auswahlliste Javascript Objekt übergeben?

Status
Für weitere Antworten geschlossen.

2Deep

Neues Mitglied
Hi ...

Ich würde gern ein DropDownMenü (Auswahlliste) benutzen um verschiedene Objekte einer Javascript Funktion zu übergeben.
Eventuell ist das zu hoch gegriffen aber mir fällt zur Zeit nix bessers ein um mein Problem zu lösen.

Also ich beschreib mal was ich gerne machen würde damit ihr einen Überblick bekommt:

Ich möchte gern eine Auswahlliste/DropDownMenü benutzen.
Sobald die Auswahl getätigt wurde sollen zwei Werte an eine Javascript Funktion übergeben werden.

Mein Code sieht wie folgt aus:

<javascript>
location[0] = new Object();
location[0]["latitude"] = 52.5261;
location[0]["longitude"] = 13.3141;

location[1] = new Object();
location[1]["latitude"] = 52.5147;
location[1]["longitude"] = 13.3501;

function goTo(temp)
{
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(temp[0]["latitude"], temp[0]["longitude"]), 25);
map.panTo(new GLatLng(temp[0]["latitude"], temp[0]["longitude"]));
}
var Mitarbeiter = new Array();
</javascript>
<html>
<form action="">
<p><select size="1" name="Auswahl" onchange="goTo(this)" width="275">
<option value="leer" selected="selected">[ where to go? ]</option>
<option value="location[0]">TierGarten</option>
<option value="location[1]">Fraunhofer Fokus</option>
<option value="ende">Beenden</option>
</select></p>
</form>
</html>

Ich bestehe wie gesagt nicht darauf das das die eleganteste Lösung für das Problem ist, falls jemand einen anderen Ansatz vor Augen: nur her damit ;)

Laut FireBug verursacht der Code keinen Fehler aber dennoch kommen bei der Funktion nich die richtigen Werte an bzw. die Werte werden nicht korrekt weiter gereicht innerhalb der Funktion.

Kann mir jemand helfen ???

viele grüße

2Deep
 
Das ist hier zwar nicht das JavaScript-Forum, aber Du übergibst ja auch nirgendwo die beiden Objekte, sondern nur Strings "location[0]" und "location[1]".

Übergib doch als Value stattdessen nur den Index des location-Arrays und greife dann auf das globale Array aus Deiner Funktion heraus zu.
"temp" ist bei Dir im Moment ein Objekt vom Typ eines Auswahlmenüs. Das ist kein Array, Du greifst darauf aber wie auf ein Array zu. Das geht natürlich nicht, und da sollte eigentlich auch ein Fehler kommen.

Gruß,
-Efchen
 
Code:
var locations = [
    {
        lat : 52.5261,
        lon : 13.3141
    },
    {
        lat : 0.0000,
        lon : 0.0000
    }
//    usw...
];
Code:
<select id="location">
    <option>Wohin?</option>
    <option value="0">TierGarten</option>
</select>
Change-Event dranhängen und gucken, ob es locations[+optionRef.value] gibt und entsprechend reagieren.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben