Comunidad de diseño web y desarrollo en internet online

funcion dentro de un ciclo for

Citar            
MensajeEscrito el 29 Mar 2011 05:37 pm
hola estoy cargando un xml el cuallos valores los meto dentro de un movieclip el cual funciona como boton, el problema es que yo cuando doy click al boton siempre me da el ultimo valor, en AS 2.0 no tenia problemas, pero veo que no se aplica la misma metodologia creo yo, yo quiero que la dar click a cada boton que se genera dinamemicamnte cargue el valor que corresponde, este es mi codigo que tengo.


Código ActionScript :

import flash.net.URLLoader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.events.MouseEvent;


var carga:URLLoader = new URLLoader();
carga.addEventListener(Event.COMPLETE,xml);
carga.load(new URLRequest("http://localhost:8888//admin/promoxml.php"));

function xml (e:Event):void
{
   cargando.visible=false
XML.ignoreWhitespace = true
   var proms:XML = new XML(e.target.data);
         
         for(var i:Number = 0; i<proms.promos.length(); i++)
         {
            var cont:MovieClip = new contenido();

            var miId:String = proms.promos[i].id;
            cont.hotel.text = proms.promos[i].hotel;
            cont.ciudad.text = proms.promos[i].ciudad;
            cont.plan.text = proms.promos[i].plan;
            cont.fecha.text = proms.promos[i].fecha;
            cont.miId = miId
            
            cont.addEventListener(MouseEvent.CLICK, ids)
            
            
            function ids(a:Event){
               
               trace(this.miId)
            }

            
         }
      
}



inclusive lo declare de esta manera

Código ActionScript :

function ids(a:Event){
               
               trace(e.target.miId)
            }


pero aun asi no funciona, gracias

Por palmeros

46 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Mar 2011 09:31 pm
la función la tienes que declarar fuera del loop, y tienes que usar el target para recuperar el id, es decir la segunda forma debería funcionar, prueba sino con currentTarget

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Mar 2011 06:07 pm
muchas gracias, jorge, jalo perfecto, ademas tenia un error de dedo por eso no jalaba

Código ActionScript :

function ids(a:Event){

              trace(e.target.miId)

            }



y deberia ser asi

Código ActionScript :

function ids(e:Event){

              trace(e.target.miId)

            }


muchas gracias de nuevo

Por palmeros

46 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.