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 original
function 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