Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2005, 09:55
Avatar de KarenFerreira
KarenFerreira
 
Fecha de Ingreso: abril-2005
Ubicación: Bucaramanga, Colombia
Mensajes: 87
Antigüedad: 19 años, 8 meses
Puntos: 2
Pregunta Actualizar valores de selects generados dinamicamente sin recargar página

Hola a todos,
Muchas gracias por leer ese post de antemano sea que puedan o no ayudarme a solucionar mi inconveniente.

Pues bien, tengo un formulario que se genera dinamicamente con varios menus cuya cantidad depende de un parametro obtenido de la pagina anterior. Cabe destacar que se generan tal vez diria yo a manera de bloques, es decir, genera una cierta cantidad de menus y a su vez se generan de cada uno de estos, otros menus cuya informacion depende de la opcion seleccionada en el principal.

Ahora, he ahi mi problema, yo necesito hacer que cada vez que se seleccione una opcion diferente de uno de los menús principales, los valores contenidos en sus "hijos" cambien.

Se que la solucion mas factible es hacer una recarga de la pagina enviando a los menus hijos la informacion que indica que el padre ha cambiado, pero, no puedo hacer una recarga de la pagina puesto que me implica limpiar la totalidad del formulario o hacer una retransmision de los valores seleccionados, cosa que no se como hacer debido al caracter dinamico de mis menus.

(Aclaracion: No estoy tratando de referirme a POO al decir padre e hijo, es solo una analogia para tratar de hacerme entender.)

Y bien, pues aca esta el codigo que tengo hasta ahora, aunque solo es una prueba para un menu y otros que se generan mediante ciclos, bastante estatico por cierto, pero sobre el que estoy tratando de trabajar mis pruebas

Código HTML:
<html>
<head>
<title>Una de mil pruebas</title>
<script language="javascript">
function activatabloide(obj)
{
 if(obj.value == 2)
 {
   document.getElementById('tabloide').style.display = "none";
   document.getElementById('universal').style.display = "";
 }
 else if(obj.value == 1)
 {
   document.getElementById('universal').style.display = "none";
   document.getElementById('tabloide').style.display = "";
 }
}
</script>
</head>

<body>
<form name="form1" method="post" action="unademilpruebas.php">
  <table width="300" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>El independiente </td>
    </tr>
    <tr>
      <td><select name="tamano" id="tamano" onChange="activatabloide(this)">
	      <option value="1">Universal</option>
		  <option value="2" selected>Tabloide</option>
            </select></td>
    </tr>
    <tr>
      <td>Los Dependientes</td>
    </tr>
    <?php
	for($i=0; $i<5; $i++)
	{
	?>
	<tr id="universal"  style="display:none">
      <td>
	  <select name="numeracionuniv" id="numeracionuniv">
	  <option value="<?php echo $i+1; ?>" selected><?php echo $i+1; ?></option>
       <?php
	   for($j=1; $j<8; $j++)
		{
		  if($j <> $i+1)
		  {
	   ?>
		  <option value="<?php echo $j; ?>"><?php echo $j; ?></option>
		<?php
		  }
	   } 
	 ?> 
	 </select></td>
	</tr>
	<tr id="tabloide">
	  <td>
	  <select name="numeraciontab" id="numeraciontab">
	  <?php
	   $j=1;
	   $k=10;
	   while($j<=5 && $k>5)
		{
		  if($j <> $i+1)
		  {
	   ?>
		  <option value="<?php echo $j; ?>"><?php echo $j."-".$k; ?></option>
		<?php
		  }
	      else
		  {
		?>  
		  <option value="<?php echo $j; ?>" selected><?php echo $j."-".$k; ?></option>
	 <?php  
	      }
	     $j++;
		 $k--;
	   } 
	 ?> 
      </select></td>
	</tr>
	<?php
	}
	?>
  </table>
</form>
</body>
</html> 
Les agradeceria mucho una propuesta para solucionar el asuntillo este, pero de no tenerla, igual agradezco por lo menos que me digan si estoy soñando, desubicada o no se puede hacer lo que estoy intentando. Muchas Gracias a todos.

Saludos
__________________
'Esto va a salir mal de todos modos, asi que no vale la pena estresarse por eso.' Tony Kakko.