-
28.10.11 16:18 #1
- Registriert seit
- Jul 2011
- Beiträge
- 4
Hallo,
ich komme irgendwie nicht weiter.
Ich habe einen ajax request unter jquery der für sich genommen mit einer festen xml-Datei auch funktioniert.
Nun möchte ich aber die xml-Datei per Selectbox wechseln können, also z.B. in der Box id = "list2" soll bei der Select-Option "Irgendeinwort" die "mapXML5.xml" vom ajax Request geladen und geparst werden und bei der Option "Einandereswort" in "list2" soll der Request für "mapXML9.xml" durchgeführt werden. Wie kriege ich das hin? Der Versuch, die url als var zu übergeben, funktioniert auch nicht (z.B. so:Code javascript:1 2 3 4 5 6 7 8 9 10 11 12
$(document).ready(function() { $.ajax({ type: "GET", url: "mapXML5.xml", dataType: "xml", success: handleSuccess, error: handleError }); function handleSuccess(xml) { usw. ....
Auch als function formuliert lässt sich der Inhalt von ajax 'url: " "' nicht verändern.Code javascript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
$("#list2").change(function(event) { $("#list2 option:selected").each(function() { selectedThema = $(this).text(); }); if(selectedThema == "Irgendeinwort") { var xmldatei = "mapXML5.xml"; } else if(selectedThema == "Einandereswort") { var xmldatei = "mapXML9.xml"; }; }); //send request for XML $.ajax({ type: "GET", url: xmldatei, dataType: "xml", success: handleSuccess, error: handleError });
Hat jemand eine Idee?
Danke
ZaziemetroGeändert von sheel (28.10.11 um 19:36 Uhr) Grund: Codetags
-
Schreib bitte nächstes mal deinen Code in die entsprechenden Tags ([javascript][/javascript])
Du deklarierst die Variable "xmldatei" innerhalb des if- und else-Blocks. Die ist außerhalb nicht vorhanden.
-
28.10.11 17:16 #3
- Registriert seit
- Jul 2011
- Beiträge
- 4
Hallo,
die "var xmldatei" habe ich am Beginn des JS-scripts gesetzt. Das allein kann m.E. nicht das Problem sein, denn ich habe im Eventhandler für die vierte Liste in den else-if-Bereich eine var ("werte") gesetzt, die außerhalb in
aufgerufen wird.Code :1
$("#area").text(selectedStatistic + ": " + this.getAttributeNS(null,werte.toLowerCase()));
Zazie
-
Hier deklarierst du zwei Variablen, die außen definitiv nicht verfügbar sind, egal was du vorher deklariert hast.
Code javascript:1 2 3 4 5 6 7 8
if(selectedThema == "Irgendeinwort") { var xmldatei = "mapXML5.xml"; } else if(selectedThema == "Einandereswort") { var xmldatei = "mapXML9.xml"; }
Wenn du vorher schon irgendwo "var xmldatei" stehen hast, dann lass in dem Code die beiden "var" weg.
-
28.10.11 17:49 #5
- Registriert seit
- Jul 2011
- Beiträge
- 4
Ja, die 'vars' davor waren überflüssig. Hab ich bei "werte" auch nicht stehen.
Nützt aber trotzdem nichts. 'xmldatei' gilt als 'undefiniert' in der Fehlerkonsole.
"Werte" auch (bei einer statischen .xml), aber nur solange, bis ich mit 'select' einen Wert für einen 'Indikator' gewählt habe. Andererseits gibt es 'werte' auch nur in der else-if und bei z.B. alert nicht außerhalb.
Also muss ich 'xmldatei' anders aufrufen, aber wie?
-
Du führst "$.ajax" ja sofort aus. Das sollte mit in die change-Funktion oder z.B. mit einem button.
Oder du gibst der Variable bei deklarieren auch direkt einen Wert (default Wert?), dann ist sie wenigstens nicht mehr undefined.
-
28.10.11 19:18 #7
- Registriert seit
- Jul 2011
- Beiträge
- 4
Dass mit dem Sofortausführen liegt daran, dass ich ursprünglich direkt Daten aus der geparsten Datei selektiert habe, ajax stand somit am Beginn des ganzen Ablaufs. Weil meine xml aber zu groß wird (bei über 100 Indikatoren über 20 Jahre) wollte ich die kleiner machen.
Eine alternative direkte Abfrage bekomme ich aber nur mit einer statischen php-Datei hin (als url: 'abfrage.php' mit festgelegten rows, oder als dynamische 'abfrage2.php' nach der select-box. Beides kriege ich aber nicht zusammen, weil das, was ich jeweils versucht habe zu übergeben, nie ankommt bzw. nie angenommen wird (meine Fähigkeiten in JS sind einfach viel zu schwach).
Deshalb jetzt der Versuch mit der gesplitteten xml-Datei.
Dein Hinweis mit der Einordnung wird genau das Problem sein. Ich werde das (morgen) versuchen.
Vielen Dank dafür.
Ähnliche Themen
-
Jquery Ajax-Request und Fehlerausgabe unter Inputfeldern klappt nicht
Von Maniac im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 18.10.11, 10:22 -
JQuery Ajax Request
Von Delphiking1980 im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 21.06.11, 08:38 -
JQuery- FormWizard und ajax-request
Von rethus im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 23.02.11, 13:04 -
jQuery |Per Ajax-Request eine Datei als Download anbieten?
Von N0ACE im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 07.08.09, 12:46 -
AJAX-Request an eine andere Domain
Von Paspirgilis im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 01.05.09, 23:30



1Danke


Zitieren

Login





