2016-04-24 6 views
0
var gulost:Object = new Object; 
btn.addEventListener(MouseEvent.CLICK, leggTilListe) 

function leggTilListe(evt:MouseEvent) 
{ 



gulost.navn = "Gulost"; 
gulost.kcal = Number(53) * numStepOst.value; 
gulost.protein = Number(4) * numStepOst.value; 
gulost.fett = Number(4.2) * numStepOst.value; 
gulost.karbohydrater = Number(0) * numStepOst.value; 
gulost.label = String(numStepOst.value) + " " + "skiver ost"; 

liste.addItem(gulost); 

Wenn der numerische Stepperwert 2 ist, fügt dies "2 skiver ost" zur Listenkomponente hinzu. Wenn ich erneut auf die Schaltfläche klicke, wird eine weitere Zeile "2 skiver ost" unter der vorherigen eingefügt. Wie bekomme ich diese zum Stapeln, anstatt ein separates Etikett zu erstellen?AS3 Verwenden einer Listenkomponente und eines MouseEvent-Listeners

// hier ist die vollständige FLA-Datei, wenn jemand einen genaueren Blick nehmen müssen oder nicht verstehen, was ich meine :) https://drive.google.com/file/d/0B-U9O7J7V4bFQnpIMmhReE9yLTQ/view

+0

vor allem was meinst du mit "stack"? Du meinst einen numerischen Summenwert, append/prepend item (wie vom Namen der Methode addItem vorgeschlagen)? Bei jedem Klick erstellen Sie nur ein neues (untypisiertes) Objekt mit neuen Werten (abhängig vom Stepper-Wert). Es ist das AddItem, das Sie offensichtlich ändern sollten, aber ich weiß nicht, was es gerade macht (den Code posten), weder was Sie genau wollen – jauboux

+0

Der erste Klick fügen Sie die Elemente zur Liste hinzu, aber ich möchte zusätzliche Klicks zu Erstellen Sie kein anderes Element, sondern fügen Sie die zusätzlichen Werte aus dem numerischen Stepper dem Element hinzu, das beim ersten Klick hinzugefügt wurde. Ich kann den vollständigen Code posten, aber es sind ungefähr 100 Zeilen. – elektroluse

Antwort

0

Sie haben eine lokale Variable erstellt. Es ist nur in einer Funktion sichtbar. Versuchen Sie, gulost außerhalb zu initialisieren.

var gulost:Object = new Object; 
btn.addEventListener(MouseEvent.CLICK, leggTilListe) 

function leggTilListe (e:MouseEvent) { 
    //...Put your listener code here... 
} 
+0

Ja, ich verstehe, aber es ändert nichts mit der Anwendung, wenn ich es außerhalb als globale Variable initialisiere. – elektroluse

+0

Können Sie Ihre Frage mit diesen Änderungen aktualisieren? – Aktash

+0

Wenn ich Sie richtig verstehe, sollte es jetzt aktualisiert werden. – elektroluse