Hola, estoy haciendo una pagina en Flash, el asunto es que para uno de los menu tuve que crear de forma dinamica un submenu (con datos que son llenados en la base de datos).
El menu se llama SERVICIOS y al darle click aparece un submenu con los servicios, al dar click en algun elemento del submenu me aparece la informacion del servicio y los subservicios que pertenecen al servicio, pero aqui esta el problema, me aparecen todos los subservicios incluso los que no pertenecen al servicio que seleccione.
Como puedo hacer la filtracion?
A continuacion les pongo el script de como esta actualmente, primero carga el submenu, al dar click a cualquier elemento de submenu aparece la informacion referente a ese elemento y debeia aparecer solo los subelementos (por asi decirlo) de ese elemento, pero me salen todos los subelementos.
Código AS3:
Ver originalfunction CargarMenu()
{
var ldrMenu:URLLoader = new URLLoader();
ldrMenu.addEventListener(Event.COMPLETE, CompleteHandler);
var reqMenu:URLRequest = new URLRequest(url);
ldrMenu.load(reqMenu);
}
function CompleteHandler(e:Event):void
{
datos = new XML(e.target.data);
for (i = 0; i < datos.servicio.length(); i++) {
miBoton = new MovieClip();
miBoton.x = 580;
miBoton.y = 95 + i * 27;
miBoton.buttonMode = true;
miBoton.mouseChildren = false;
stage.addChild(miBoton);
new Tween(miBoton, "alpha", Strong.easeOut, 0, 1, 1, true);
CargarServicios();
}
}
function CargarServicios():void
{
boton = new MenuElemento();
boton.txtMenu.text = datos.servicio.nombre.text()[i];
miBoton.addChild(boton);
Click(i);
}
function Click(num:Number):void
{
miBoton.addEventListener(MouseEvent.CLICK, MostrarServicio);
function MostrarServicio(e:MouseEvent):void
{
details = new MovieClip();
details.x = 30;
details.y = 100;
servicio = new Servicios();
servicio.txtTituloServicio.text = datos.servicio.nombre.text()[num];
servicio.textoClip.txtCuerpoServicio.text = datos.servicio.descripcion.text()[num];
btn = new MovieClip();
btn.x = 820;
btn.y = 5;
btn.buttonMode = true;
cerrar = new BotonCerrar();
stage.removeChild(miBoton);
stage.addChild(details);
details.addChild(servicio);
details.addChild(btn);
CargarHijos();
btn.addChild(cerrar);
new Tween(details, "alpha", Strong.easeIn, 0, 1, 1, true);
new Tween(btn, "alpha", Strong.easeIn, 0, 1, 2, true);
btn.addEventListener(MouseEvent.CLICK, CerrarServicio);
}
}
function CargarHijos():void
{
var ldrHijos:URLLoader = new URLLoader();
ldrHijos.addEventListener(Event.COMPLETE, CompleteHandlerHijos);
var reqHijos:URLRequest = new URLRequest(urlHijos);
ldrHijos.load(reqHijos);
}
function CompleteHandlerHijos(ev:Event):void
{
xmlHijos = new XML(ev.target.data);
for (c = 0; c < xmlHijos.hijo.length(); c++) {
hijo = new MovieClip();
hijo.x = 650;
hijo.y = 128 + (c * 170);
hijo.buttonMode = true;
details.addChild(hijo);
new Tween(hijo, "alpha", Strong.easeIn, 0, 1, 1, true);
llenarHijos();
}
}
function llenarHijos():void
{
loader = new Loader();
loader.load(new URLRequest(xmlHijos.hijo.imggrande.text()[c]));
hijo.addChild(loader);
ClickHijo(c);
}
function ClickHijo(num:Number):void
{
hijo.addEventListener(MouseEvent.CLICK, DetalleHijo);
function DetalleHijo(e:MouseEvent):void
{
detHijo = new MovieClip();
detHijo.x = 30;
detHijo.y = 100;
addChild(detHijo);
serHijo = new Servicios();
serHijo.txtTituloServicio.htmlText = xmlHijos.hijo.nombre.text()[num];
serHijo.textoClip.txtCuerpoServicio.htmlText = xmlHijos.hijo.descripcion.text()[num];
serHijo.textoClip.txtCuerpoServicio.autoSize = TextFieldAutoSize.LEFT;
serHijo.txtTituloServicio.mouseEnabled = false;
serHijo.textoClip.txtCuerpoServicio.mouseEnabled = false;
imgHijo = new MovieClip();
imgHijo.x = 650;
imgHijo.y = 128;
ldrImgHijo = new Loader();
ldrImgHijo.load(new URLRequest(xmlHijos.hijo.imggrande.text()[num]));
btnHijo = new MovieClip();
btnHijo.x = 820;
btnHijo.y = 5;
btnHijo.buttonMode = true;
cerrarHijo = new BotonCerrar();
stage.addChild(detHijo);
detHijo.addChild(serHijo);
detHijo.addChild(imgHijo);
detHijo.addChild(btnHijo);
imgHijo.addChild(ldrImgHijo);
btnHijo.addChild(cerrarHijo);
new Tween(detHijo, "alpha", Strong.easeIn, 0, 1, 1, true);
new Tween(btnHijo, "alpha", Strong.easeIn, 0, 1, 2, true);
btnHijo.addEventListener(MouseEvent.CLICK, CerrarHijo);
}
}
Espero que me puedan ayudar.
Gracias