[AS3.0] 3 ComboBoxes i.c.m. XML

Pagina: 1
Acties:

  • Nibbz
  • Registratie: September 2001
  • Laatst online: 14:56

Nibbz

Postmaster General

Topicstarter
Ik gebruik een script in een flash bestand van me, om data uit een xml bestand te halen, en dit in 2 comboboxes te zetten...

het xml bestand ziet er zo uit:

code:
1
2
3
4
5
6
7
<?xml version="1.0" encoding="ISO-8859-1"?>
<gebouwen>
            
    <gebouw id="1" name="Hoofdgebouw">

        <ruimte id="1">Kelder
        </ruimte>

en zo verder..

Op dit moment heb ik 2 dropdown boxes op mijn stage staan, en deze worden gevuld door Actionscript3 d.m.v. een XMLbestand:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("locatie.xml"));
xmlLoader.addEventListener(Event.COMPLETE, getXML);

this.mcAanmeldvenster.gebouw.prompt = "Selecteer een gebouw";

var xml:XML;
var makeArr:Array = new Array();
var modelArr:Array = new Array();

this.mcAanmeldvenster.gebouw.addEventListener(Event.CHANGE, getModels);
//mcAanmeldvenster.verdieping.addEventListener(Event.CHANGE, getResult);

function getXML(e:Event):void
{
    xml = new XML(e.target.data);
    var il:XMLList = xml.gebouw;
    var ml:XMLList = xml.gebouw.ruimte;
    for(var i:uint=0;i<il.length();i++)
    {
        makeArr[i] = new Array(il.@name[i],il.@id[i]);
        modelArr[i] = new Array(il.@id[i]);
            for(var x:uint=0;x<il[i].ruimte.length();x++)
            {
                modelArr[i].push(il[i].ruimte[x]);
            }
    }
    getMakes();
}

function getMakes():void
{
    for(var i:uint=0;i<makeArr.length;i++)
    {
        this.mcAanmeldvenster.gebouw.addItem({label:makeArr[i][0],data:makeArr[i][1]});
    }   
}

function getModels(e:Event):void
{
    mcAanmeldvenster.verdieping.removeAll();
    mcAanmeldvenster.verdieping.prompt = "Selecteer een Ruimte";
    var theMakeID:Number = mcAanmeldvenster.gebouw.selectedItem.data;
    for(var i:uint=0;i<modelArr.length;i++)
    {
        if(modelArr[i][0]==theMakeID)
        {
            for(var x:uint=1;x<modelArr[i].length;x++)
            {
                mcAanmeldvenster.verdieping.addItem({label:modelArr[i][x],data:modelArr[i][x]});
            }
        }
    }   
}



Nu wil ik allen van 2 naar 3 comboboxes gaan.. alleen de for loop die het XML bestand uitleest, is mij iets te ingewikkeld om het uit te breiden naar 3 combo boxes.

Heeft iemand hier misschien een kant en klare oplossing voor gevonden, of kan mij opweg helpen zodat dit script met 3 comboboxes overweg kan gaan (het veld wat er nog bij moet komen, valt onder verdieping: KamerNr. Dus een gebouw selecteren, verdieping, en dan een kamernr).

Heb google geraadpleegd (google is your friend), en kom op tutorials waar ze het over zelf gemaakte comboboxen/dropdown menu's hebben, of over voorbeelden met 2 dropdown menus...

13:37