Foros del Web » Creando para Internet » Flash y Actionscript »

No pasan los valores fuera del evento COMBOBOX

Estas en el tema de No pasan los valores fuera del evento COMBOBOX en el foro de Flash y Actionscript en Foros del Web. Hola a todos: Tengo este codigo(en rojo), con el que obtengo el valor seleccionado de un combo: var Obj:Object = new Object(); Obj.change = function() ...
  #1 (permalink)  
Antiguo 26/05/2006, 21:01
Avatar de wontolla  
Fecha de Ingreso: abril-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 22 años
Puntos: 1
No pasan los valores fuera del evento COMBOBOX

Hola a todos:

Tengo este codigo(en rojo), con el que obtengo el valor seleccionado de un combo:

var Obj:Object = new Object();
Obj.change = function() {
VAR1 = combito.value;
};
combito.addEventListener('change', Obj);

En esa posicion, puedo hacer lo que quiera con la variable VAR1, pero si hago esto:

var Obj:Object = new Object();
Obj.change = function() {
VAR1 = combito.value;
};
combito.addEventListener('change', Obj);

trace(VAR1);

El valor que obtengo en el trace es undefined o nada, es decir, fuera de las lineas del evento addEventListener ya tengo ningun valor en la varible VAR1.

¿Alguien podria explicarme porque pasa esto y como puedo llevarme el valor seleccionado a otra parte de mi AS para trabajarlo?.

Gracias a todos.
__________________
El hombre no domina a la montaña, debe derrotarse a si mismo y alcanzar la cumbre.
  #2 (permalink)  
Antiguo 28/05/2006, 15:53
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Claro que es undefined. Eso te pasa porque haces el trace antes de asiganrle un valor a VAR1 ya que el valor se lo asignas solo cuando abres el combobox y cambias el valor seleccionado.
Si haces el trace(VAR1) antes de cambiar el valor del combo, obviamente te da undefined. Lo que tienes que hacer es lo siguiente:
Código:
var Obj:Object = new Object();
Obj.change = function() {
VAR1 = combito.value;
trace(VAR1); //colocas el trace dentro de la funcion...
};
combito.addEventListener('change', Obj);
Entonces ahi si que cuando cierras el combo seleccionando un elemento diferente te devuelve el valor seleccionado. Para hacer que te devuelva solo al cerrar el combo box tienes que usar:

Código:
var Obj:Object = new Object();
Obj.close = function() {
VAR1 = combito.value;
trace(VAR1);
};
combito.addEventListener('close', Obj);
Saludos

ArgoN
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.