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

Duda con cobobox y xml

Estas en el tema de Duda con cobobox y xml en el foro de Flash y Actionscript en Foros del Web. Hola a todos, tengo una duda, con un par de combobox en flash, resulta que tengo un xml con esta estructura: Código: <videos> <edicion ID="0" ...
  #1 (permalink)  
Antiguo 24/02/2011, 11:20
 
Fecha de Ingreso: julio-2008
Mensajes: 74
Antigüedad: 15 años, 9 meses
Puntos: 1
Duda con cobobox y xml

Hola a todos, tengo una duda, con un par de combobox en flash, resulta que tengo un xml con esta estructura:
Código:
<videos>
    <edicion ID="0" NOMBE="VIDEOS 1">
        <fecha ID="9">
              <flv ID="0" TITULO="TITULO VIDEO 1" URL="video1.flv" />
              </fecha>
	<fecha ID="10">
              <flv ID="1" TITULO="TITULO VIDEO 2" URL="video2.flv" />
              </fecha>
         <fecha ID="11">
             <flv ID="2" TITULO="TITULO VIDEO 3" URL="video3.flv" />
             </fecha>
        </edicion>
    <edicion ID="1" NOMBE="VIDEOS 2">
	  <fecha ID="1">
             <flv ID="0" TITULO="TITULO VIDEO 1" URL="video4.flv" />
	     </fecha>
	  <fecha ID="2">
	     <flv ID="1" TITULO="TITULO VIDEO 2" URL="video5.flv" />
	     </fecha>
	  <fecha ID="3">
	     <flv ID="2" TITULO="TITULO VIDEO 3" URL="video6.flv" />
	     </fecha>
	</edicion>
</videos>
y necesito introducir en un combobox el atributo "NOMBRE"

Por otro lado en otro combobox el nodo fecha ID que dependerá de que atributo NOMBRE escojas en el anterior combobox.

Por último en un clip de película creo unos botones de manera dinámica en los que aparecerá el atributo TITULO de los vídeos y que deverán llamar a la URL del vídeo.

Lo que no logro hacer es que los combobox me recojan los valores del xml.

En mi AS tengo lo siguiente:
Código:
var xmlVideos:XML = new XML();
xmlVideos.ignoreWhite = true;
function doLoadXmlVideos() {
	xmlVideos.onLoad = function(success:Boolean):Void {
		if(success) {
			videosTotales = xmlVideos.firstChild.childNodes.length;
			
			for(var i:Number=0; i<videosTotales; i++) {
				tituloVideo[i] = xmlVideos.firstChild.childNodes[i].attributes.NOMBE;
				aDT[i] = xmlVideos.firstChild.childNodes[i].childNodes.length;
				aVT[i] = new Array(aDT[i]);
				aFechas[i] = new Array(aDT[i]);
				aData[i] = new Array(aDT[i]);
				
				for(var j:Number=0; j<aDT[i]; j++) {
					aVT[i][j] = xmlVideos.firstChild.childNodes[i].childNodes[j].childNodes.length;
					aFechas[i][j] = xmlVideos.firstChild.childNodes[i].childNodes[j].attributes.ID;
					
					aData[i][j] = new Array(aVT[i][j]);
					
					for(var k:Number=0; k<aVT[i][j]; k++) {
						aData[i][j][k] = new Array(2);
						
						aData[i][j][k][0] = xmlVideos.firstChild.childNodes[i].childNodes[j].childNodes[k].attributes.TITULO;
						aData[i][j][k][1] = xmlVideos.firstChild.childNodes[i].childNodes[j].childNodes[k].attributes.URL;
					}
				}
			}
                                domenuComboVid();
			}
		} else {
			trace('no se a podido cargar el archivo XML');
		}
	}
	xmlVideos.load(vMainRoot + "xml/videos.xml");
}
y para que el primer combobox recoja los valores del xml:

Código:
function domenuComboVid() {
	// Limpia Datos:
	        misVideos.removeAll();
	// Agregar datos:
	for(var i:Number=0; i<videosTotales_f; i++) {
		misVideos.addItem( {data:i, label:tituloVideo[i]} );
	}
}
Pero no me carga nada.

¿Como podría cargar los datos en los combobox?

Mucha gracias!

Última edición por maxpower78; 24/02/2011 a las 11:57
  #2 (permalink)  
Antiguo 25/02/2011, 05:00
 
Fecha de Ingreso: julio-2008
Mensajes: 74
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Duda con cobobox y xml

Bien, ya he logrado meter la información del atributo NOMBE en el primer combo.

He añadido esta linea de código en el primer bucle for:


Código:
_root.Video.addItem(  {data:i, label:edicionx[i]} );

Ahora el problema que tengo es que en el segundo combo, donde tengo que meter la fecha ID me salen todas las fechas ID y no solo las que corresponden al NOMBE que está seleccionado en el primer combo. Este código lo añado en el segundo bulce for para que me carge los dias en el segundo combo:


Código:
_root.dias.addItem(  {data:i, label:"dia"+[aFechas]} );


¿como podría solucionar esto? que solo me aparezca la fecha ID de la edición seleccionada?

gracias.

Última edición por maxpower78; 25/02/2011 a las 05:34
  #3 (permalink)  
Antiguo 28/02/2011, 09:03
 
Fecha de Ingreso: julio-2008
Mensajes: 74
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Duda con cobobox y xml

Hola otra vez, ya he logrado que las opciones del primer combobox se comuniquen con el segundo, pero aún así no me salen las opciones correctas. he puesto lo siguiente:

Código :

Código:
var edicion:ComboBox; 
edicion.addEventListener("change",onComboChange); 
function onComboChange(event:Object):Void { 
   _root.dias.removeAll(); 
   var label:String = event.target.selectedItem.label; 
   var data:String = event.target.selectedItem.data; 
   doSetDays(); 
}


con esta funcion, me carga los datos en el segundo combobox cada vez que selecciono un item en el primero, pero siempre me selecciona los mismos.
¿como puedo hacer que seleccione los items correctos en el segundo combobox?

gracias.
  #4 (permalink)  
Antiguo 28/02/2011, 17:45
 
Fecha de Ingreso: julio-2008
Mensajes: 74
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Duda con cobobox y xml

¿¿alguien me puede ayudar con esto??

Etiquetas: xml
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 04:31.