| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Gast
Beiträge: n/a
| Werte aus ComboBox - Unterschied Label / Data
Hallo zusammen. Ich bin nach ein paar jahren Abwesenheit wieder zurück zu Flash gekommen. Dementsprechend hab ich eigentlich so gut wie alles vergessen ![]() Bei meinem aktuellen Projekt habe ich mehrere ComboBoxen, wobei nur die erste Werte enthält. Die anderen werden in Abhängigkeit zur vorhergehenden Auswahl mit Werten gefüllt ( habe mich an das Beispiel aus der Flash Hilfe gehalten). Ich habe jetzt nur 2 Probleme damit. (Code folgt am Ende) 1: Wenn ich einen Listenpunkt anklicke erstellt er mir die neuen Inhalte für die nächste ComboBox. Wenn ich allerdings die Auswahl dann nochmals, auf einen anderen Listenpunkt, ändere ergänzt er den Inhalt der nächsten ComboBox. Das liegt bestimmt an dem Befehl Code: addItem Code: on Changed 2: Ich habe noch ein Problem mit den Werten der einzelnen Listenelementen. Wenn ich eine Abfrage mit Code: if (evt_obj.target.selectedItem.label == "Menüpunkt 1"){..... Ich habe dazu Code: ....selectedItem.data == punkt1){... Muss ich das anders ansprechen oder gibt es bei der benennung der Daten bestimmte Vorschriften -> Habe Daten die nach folgenden Schema aufgabaut sind: xyz-123 (also mit bindestrich) Hier mal der Code (Ausschnitt, da ich von einem anderen Monitor abtippen muss... Rechtschreibfehler vorbehalten) Flash CS3 AS2: Code: stop();
var meinListener:Object = new Object ();
meinListener.change = function (evt_obj:Object) {
if (evt_obj.target.selectedItem.label == "Menüpunkt 1"){
this.createClassObject (mx.controls.ComboBox, "neueBox", 0);
neueBox.addItem({data:wert-0, label:"Null"});
// weitere Items werden erzeugt...
}
else if (evt_obj.target.selectedItem.label == "Menüpunkt 2"){
this.createClassObject (mx.controls.ComboBox, "neueBox2", 0);
....
}
}
ersteComboBox.addEventListener("change",meinListener); Es gibt noch weitere EventListener für die anderern ComboBoxen aber es bleibt im endeffekt vom Code her gleich. Hoffe ihr könnte mich vom Schlauch runter holen auf dem ich zu stehen scheine ![]() MfG Monk |
|
| | #2 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Ich habe das jetzt drei Mal gelesen und verstehe noch immer nicht, was du eigentlich wissen willst...
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #3 (permalink) |
| Gast
Beiträge: n/a
|
Ich habe eine Liste, die schon mit Werten gefüllt ist: Menüpunkt 1 Menüpunkt 2 ... Es existiert darunter eine Weitere die allerdings leer ist. Wenn man jetzt z.B. "Menüpunkt 1" auswählt wird die 2te Liste mit Werten gefüllt. Das gleiche Passiert auch wenn man "Menüpunkt 2" auswählt (allerdings mit anderen Werten). Mein Problem ist jetzt, dass ich z.B. "Menüpunkt 1" anklicke -> die neue Liste wird mit den Werten gefüllt -> ich klicke dann "Menüpunkt 2" an und die Liste wird um die Werte ergänzt. Damit das nicht vorkommt müsste man in der if-Abfrage erst alle bestehenden Items der neuen Liste löschen?! ----------- Zu Punkt 2: Sagen wir mal der "Menüpunkt 1" hat den Wert "punkt-1" bei Data. Der "Menüpunkt 2" den Wert "punkt-2". Dann müsste ich doch auf die Daten zugreifen können wenn ich statt "label" "data" in meinen Code schreibe (siehe erster Beitrag). Leider funktioniert es nur mit Labels momentan. |
|
| | #4 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Also bei mir geht das auch über "data" und deine Combobox kannste doch mit neueBox.removeAll(); leeren, bevor du sie neu füllst.
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #5 (permalink) |
| Gast
Beiträge: n/a
|
mit nur 2 Listen klappt das auch wunderbar. Aber sobald ich 3 Listen (2 EventListener) habe funktioniert es nur noch über die Labels. Wenn ich zuhause bin werde ich mal die FLA posten die ich dafür gebastelt habe. Mein momentaner Testaufbau ist dabei: // Name des Listenpunkts (Data) Code: Liste 1: Geschelcht: männlich (mann)
weiblich (frau)
Liste 2: Bei mann: Hanz (hanz)
Egon (egon)
Peter (peter)
Bei frau: Erika (erika)
Martina (martina)
Heike (heike)
Liste 3: Bei hanz: Bauer (bauer)
Maier (maier)
Schultze (schultze)
und so weiter.... ![]() Mit Labels habe ich es schon geschafft diese listen auszugeben. Aber mit Data will es einfach nicht gehn... (Skript folgt wie gesagt - falls nötig) Edit: Stellt euch oben im Code die Namen untereinander vor. Das hat es leider beim absenden verhauen... Edit 2: Datei angefügt Geändert von dr monk (11-03-2009 um 17:06 Uhr) Grund: Formatierung hat mit normalem Text nicht geklappt -> zu Code geändert |
|
| | #7 (permalink) |
| Gast
Beiträge: n/a
|
->verschoben Am einfachsten ist es wohl, den dataProvider der Liste zu überschreiben. Der ist ein einfaches Array. Mal als Ansatz: PHP-Code: |
|
| | #8 (permalink) |
| Gast
Beiträge: n/a
|
Danke für deine Antwort. Ich habe noch eine neue Test-Datei angelegt wo ich mit dataProvider die Daten erzeuge (vorerst nicht mit arrays, kommt aber spätestens mit XML...) Das Problem was ich beschrieben habe, hat sich leider nicht geändert. Ich habe in der Datei beim überprüfen der "liste2" "label" angegeben um euch die beabsichtigte Funktion zu zeigen. Ändert ihr die Abfrage auf "data" wird die Abfrage der "liste2" nicht mehr klappen ![]() grml... Ich werde die Datei per RS oder Netload hochladen müssen, da die FLA mit den 3 Feldern und 15 Zeilen Code 900kb hat. Bis später in dem Fall... |
|
| | #9 (permalink) |
| Gast
Beiträge: n/a
|
Wie versprochen (nur etwas später) der Link zur Datei: http://netload.in/dateiywpk8kQpjo/test.zip.htm Ich könnte auch den Code posten, finde es persöhnlich (als newbie) oft schwer den zusammenhang zwischen MC und Code zu verstehen. Falls doch der Quellcode gewünscht ist poste ich den auch. |
|
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |