Funktionsrückgabewerte bei jQuery

tofa

Mitglied
Hi,

ich versuche gerade mich ein wenig in jQuery einzuarbeiten.
Mit folgender Funktion möchte ich aus einer XML-Datei den Preis zu einem über die Variable id bestimmten Artikel auslesen. Das klappt soweit auch.
Allerdings übergibt die Funktion nur den Wert "undefined". Ich bin mir ziemlich sicher, dass das Problem mit den geschachtelten Funktionen zusammenhängt, weiß aber nicht, wie ich es lösen soll.

Code:
function getPrice(id)
       {
         $.get('db.xml', function(d){   
         $(d).find('data').each(function(){  
			var $data = $(this);  
			 if ($data.find("id").text() == id)
			 {
				var price = $data.find("preis").text().trim();
				return price;
			}	
         });  
     });  
 };

Im voraus vielen Dank für jeden heißen Tipp

Gruß
Tom
 
Moin Tom,

erstmal prinzipiell:get() hat einen optionalen Parameter type, wenn du dort den Wert 'xml' übergibst, erhältst du als Rückgabe ein Dokument...und nur auf ein solches kannst du die von dir verwendeten Methoden anwenden.

Weiterhin: du kannst da nicht mit dem Rückgabewert von getPrice arbeiten, denn zurückgegeben wird der Wert von der callback-Funktion.
Und: trim() ist keine Methode des String-Objektes, sondern eine Utility-Methode von JQuery, du kannst das also nicht in der Art wie du es tust auf den Rückgabewert von text() anwenden.

Aber poste doch am besten erstmal, wie die Struktur der XML aussieht, um zu sehen, was du dort von wo holen willst :)
 

Neue Beiträge

Zurück