Crea un nuovo filmato, trascina sullo stage un combobox, poi cancellalo. Nel primo frame, incolla questo script:
codice:// importo la classe ComboBox import mx.controls.ComboBox; // creo i due combobox var combo1:ComboBox = createClassObject(ComboBox, "_c1", 1, {_x:10}); var combo2:ComboBox = createClassObject(ComboBox, "_c2", 2, {_x:combo1._x + combo1.width + 10}); // disabilito il secondo combo2.enabled = false; // setto il contenuto del primo combo1.dataProvider = [ {label:"- seleziona -", data:null}, {label:"AREA 1", data:["SEDE A", "SEDE C"]}, {label:"AREA 2", data:["SEDE A", "SEDE B"]}, {label:"AREA 3", data:["SEDE A", "SEDE B", "SEDE F"]} ]; // creo un oggetto per gestire gli eventi dei combobox var listener:Object = new Object(); listener.change = function(evt:Object):Void { // in base al combobox selezionato switch(evt.target) { case combo1: // recupero l'oggetto data associato all'elemento selezionato var data = evt.target.selectedItem.data; // se l'oggetto è nullo (il primo è nullo apposta) if(data == null){ // svuoto il secondo combobox combo2.dataProvider = []; // lo disabilito combo2.enabled = false; } else { // abilito il combobox combo2.enabled = true; // associo i dati come dataProvider combo2.dataProvider = data; } break; case combo2: // traccio l'oggetto selezionato trace(evt.target.selectedItem); break; } }; // metto l'oggetto in ascolto degli eventi dei combobox combo1.addEventListener("change", listener); combo2.addEventListener("change", listener);

Rispondi quotando