Frage

ich bin relativ neu in YUI - gerade ihre große docs, ich finde kein Verfahren oder einen Flag eine externe Ressource laden synchron .

oder die Frage umgekehrt; für jeden passenden Knoten benötigen i, ein Verfahren zu nennen, das etwas an dem Knoten einfügt; mit asynchroner ruft die in Erinnerung Bezeichner scheinen zu vermasseln.

daher der Rückruf an die haften müssen

pid

, wenn die Funktion aufgerufen wird, nicht, wenn der Rückruf ausgeführt wird - soll ich das richtig hinzubekommen

var platform_ids = YAHOO.util.Selector.query('.platform_id'); 

for (var i = 0; i < platform_ids.length; i++) {
    var pid = platform_ids[i].getAttribute("id");
    var sUrl = "/platform/" + pid + "/description/";
    var callback = { success: function(o) { 
        document.getElementById(pid).innerHTML =  o.responseText; }}
    var transaction = YAHOO.util.Connect.asyncRequest(
        'GET', sUrl, callback, null
    );
}

Dank. MYYN

War es hilfreich?

Lösung

Sie wollen nicht eine synchrone Anfrage. Die User Experience kann schrecklich sein. Sie wollen wirklich nur um einen Wert zu Ihrem Rückruf zu übergeben, so dass es nicht auf pid verlassen (was, wie Sie vielleicht bemerkt haben, wird in der Regel einen anderen Wert hat, wenn Ihr Rückruf aufgerufen wird):

var callback = { success: function(o) 
  { 
    document.getElementById(o.argument).innerHTML =  o.responseText; 
  }, 
  argument: pid
};

Hier verwende ich das argument Rückruf Mitglied die ID und Referenz zu halten, dass in der Callback-Funktion selbst, jeden Rückruf, um die korrekte ID verwendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top