Como leer el contenido de Combo Box en Flash
Teniendo el combo box en el escenario le ponemos como nombre de instancia “box“.
Ahora abre el Inspector de componentes y selecciona el combo box:

Como puedes ver, en mi caso tengo 4 elementos en el combo:
[Hélice,Hipocicloide,Hepicicloide,F.Lissajous]
Los puedes ver donde pone “labels”, y aparecen en forma de matriz (array).
Si te fijas, verás que hay otro campo muy parecido llamado “data”, donde aparece otro array:
[f1,f2,f3,f4]
Ok, estos valores los puse yo, igual que los anteriores. Es decir, igual que pone eso, podría poner:
[qwe,asd,zxc,jkl]
Pero no lo pongo, pues este array será el que identifica la posición actual del combo box, así que usamos nombres sencillos para evitar errores

Una vez visto esto, vayamos a lo que interesa: El código para acceder al valor actual del combo box.
Para acceder al array de data: (campos mas sencillos)
[as]box.getSelectedItem().data[/as]
Para acceder al array de labels: (nombre que le pusiste a cada campo)
[as]box.getSelectedItem().label[/as]Estos códigos tiene un valor concreto, que varía según el elemento en el que esté actualmente el combo:
|
COMBO BOX
|
box.getSelectedItem().data
|
box.getSelectedItem().label
|
|
Hélice
|
f1
|
Hélice
|
|
Hipocicloide
|
f2
|
Hipocicloide
|
|
Hepicicloide
|
f3
|
Hepicicloide
|
|
F.Lissajous
|
f4
|
F.Lissajous
|
Lo que hagas a partir de aquí ya depende de ti y para que lo quieras.
Por ejemplo, puedes crear una función parecida a esta, si lo que quieres es que cada vez que se cambia el valor en el combo box, automáticamente reaccione y haga algo:
[as]function change(evt){
trace(evt.target.selectedItem.data);
//ha cambiado el valor actual del combo
//hace un trace del valor en el que se ha posicionado
//aquí es donde van tus acciones (puedes eliminar el trace)
}
box.addEventListener(“change”, this);
/crea el listener de la función[/as]
Por otra parte, si quieres que aunque haya cambiado, no haga nada hasta que pulses un botón de nombre de instancia “go“, puedes usar un código como éste:
[as]go.onPress = function() {
acciones();
};
function acciones() {
switch (box.getSelectedItem().data) {
case “f1″ :
trace(“Has pulsado
break;
case “f2″ :
trace(“Has pulsado
break;
case “f3″ :
//asdf
break;
case “f4″ :
//asdf
break;
}
}[/as]
Espero les haya ayudado