Foros del Web » Programando para Internet » PHP »

Se pueden crear 2 DynamicOptionList en la misma página??

Estas en el tema de Se pueden crear 2 DynamicOptionList en la misma página?? en el foro de PHP en Foros del Web. Hola, estoy trabajando con php y javascript y tengo 1 problemilla: me hace falta usar 2 DynamicOptionList, y me ocurre una cosa curiosa, me funcionan ...
  #1 (permalink)  
Antiguo 16/05/2007, 14:17
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 13 años
Puntos: 0
Se pueden crear 2 DynamicOptionList en la misma página??

Hola, estoy trabajando con php y javascript y tengo 1 problemilla: me hace falta usar 2 DynamicOptionList, y me ocurre una cosa curiosa, me funcionan por separado (es decir, con uno de los 2 comentado) pero no me funciona cuando están juntos (sin comentar ninguno). Lo que hago es que dependiendo de la unidad que elija el usuario tienen que actualizarse el curso académico y el área. El código es el siguiente:

Las variables $arrayCursoAcadCFGM, PGS, FPO, $arrayUnidadCFGM, PGS, FPO, $arrayUnidadPGSA, $arrayAreaPGS... tienen los valores correctos, lo he comprobado.

Código:
....PHP.....

<body onLoad="initDynamicOptionLists()">


echo'<script type="text/javascript" src="dynamicoptionlist.js"></script>';


 //Creo la dependencia entre una unidad y un curso académico
echo'<script type="text/javascript">';
echo'var unidadCursoAcad = new DynamicOptionList();';
echo'unidadCursoAcad.addDependentFields("unidadProfesor","cursoAcadProfesor");';





for($i=1; $i <= count($arrayUnidadCFGM); $i++)
		for($j=1;$j <= count($arrayCursoAcadCFGM[$i]); $j++)
echo'		  unidadCursoAcad.forValue("'.$arrayUnidadCFGM[$i].'").addOptions("'.$arrayCursoAcadCFGM[$i][$j].'");';
for($i=1; $i <= count($arrayUnidadFPO); $i++)
		for($j=1;$j <= count($arrayCursoAcadFPO[$i]); $j++)
echo'		  unidadCursoAcad.forValue("'.$arrayUnidadFPO[$i].'").addOptions("'.$arrayCursoAcadFPO[$i][$j].'");';
for($i=1; $i <= count($arrayUnidadPGS); $i++)
		for($j=1;$j <= count($arrayCursoAcadPGS[$i]); $j++)
echo'		  unidadCursoAcad.forValue("'.$arrayUnidadPGS[$i].'").addOptions("'.$arrayCursoAcadPGS[$i][$j].'");';


echo'unidadCursoAcad.selectFirstOption = false;';
echo'</script>';



echo'

Unidad :
		<select name="unidadProfesor">';
		  echo'<option selected="selected" value="'.$arrayUnidadCFGM[1].'">'.$arrayUnidadCFGM[1].'</option>';		
		  for ($k=2;$k<=count($arrayUnidadCFGM);$k++)	
	  	 	  echo'<option value="'.$arrayUnidadCFGM[$k].'">'.$arrayUnidadCFGM[$k].'</option>';		
		  for ($k=1;$k<=count($arrayUnidadFPO);$k++)	
	  	 	  echo'<option value="'.$arrayUnidadFPO[$k].'">'.$arrayUnidadFPO[$k].'</option>';
		  for ($k=1;$k<=count($arrayUnidadPGS);$k++)	
	  	 	  echo'<option value="'.$arrayUnidadPGS[$k].'">'.$arrayUnidadPGS[$k].'</option>';		
  
		echo'
		</select>';


 
 

echo' &nbsp;&nbsp;&nbsp;&nbsp;Curso académico :
		<select name="cursoAcadProfesor">';
echo'		<script type="text/javascript">unidadCursoAcad.printOptions("cursoAcadProfesor")</script>';
		echo'
		</select>'; 
 


  
 
//Creo l dependencia entre una unidad y un área 

echo'<script type="text/javascript">';
echo'var unidadArea = new DynamicOptionList();';
echo'unidadArea.addDependentFields("unidadProfesor","areaProfesor");';
for($i=1; $i <= count($arrayUnidadPGSA); $i++)
		for($j=1;$j <= count($arrayAreaPGS[$i]); $j++)
echo'		  unidadArea.forValue("'.$arrayUnidadPGSA[$i].'").addOptions("'.$arrayAreaPGS[$i][$j].'");';
echo'unidadArea.selectFirstOption = false;';
echo'</script>';



 echo'
  
  &nbsp;&nbsp;&nbsp;&nbsp; Área :
		<select name="areaProfesor">';
		echo'		<script type="text/javascript">unidadArea.printOptions("areaProfesor")</script>';
		echo'</select>';


....... PHP ........
Y ahora mismo el resultado que daría es:
- En unidad da el resultado correcto, muestra las unidades.
- En cursoAcademico NO sale lo correcto, sale el área, pero al crear la dependencia los arrays que contenían los datos del curso académico contenín los datos correctos.
- En area sale el resultado correcto.

Si pudiéseis ayudarme porque estoy perdido.

Muchas gracias.
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 14:31.