Foros del Web » Programando para Internet » PHP »

menú de salto dinámico

Estas en el tema de menú de salto dinámico en el foro de PHP en Foros del Web. Estoy realizando un menú de salto o de filtro dinámico y mi pregunta es cómo hago para que una vez seleccionado el menú, al saltar ...
  #1 (permalink)  
Antiguo 24/11/2011, 07:04
 
Fecha de Ingreso: diciembre-2009
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 7
menú de salto dinámico

Estoy realizando un menú de salto o de filtro dinámico y mi pregunta es cómo hago para que una vez seleccionado el menú, al saltar se me quede en dicho menú la opción elegida.

El menú me realiza bien lo que quiero, pero al pasar al siguiente me devuelve el valor inicial de " seleccione" y no la opción que se mete...

A ver si alguien me puede ayudar..

Gracias de antemano.
  #2 (permalink)  
Antiguo 24/11/2011, 07:18
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: menú de salto dinámico

Saludos!

Seria conveniente que publicaras el código que tienes hecho.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 24/11/2011, 07:18
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: menú de salto dinámico

Tienes varias opciones.

La más común, es pasar por GET (URL) o en una variable de SESSION, el id/nombre del elemento a seleccionar. Luego al renderizarlo, recoges esa variable para saber cual tienes que dejar seleccionado.

Otra opción, es pasarle esa variable a javascript y que javascript sea quien modifique el elemeno html.

Saludos
  #4 (permalink)  
Antiguo 28/11/2011, 03:18
 
Fecha de Ingreso: diciembre-2009
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: menú de salto dinámico

Cita:
Iniciado por SetheR Ver Mensaje
Tienes varias opciones.

La más común, es pasar por GET (URL) o en una variable de SESSION, el id/nombre del elemento a seleccionar. Luego al renderizarlo, recoges esa variable para saber cual tienes que dejar seleccionado.

Otra opción, es pasarle esa variable a javascript y que javascript sea quien modifique el elemeno html.

Saludos
Gracias por la respuesta. He estado probando y me sigue surgiendo una duda. Estoy haciendo un formulario con varios menús de salto tipo país, región, provincia y población en el que el menú de arriba me va filtrando el siguiente y los voy pasando por GET, y al final lo inserto en bd..
Pues cuando voy pasando por get me va saliendo en url, idpais=1&idRegion=1 y por ejemplo elijo en provincia la idProvincia=5( hasta aquí bien) pero al elegir la población en la url me pone las ids= 1,1,1, 235 ( ésta última es la población) y en la provincia no me guarda la 5 que había elegido, con lo cual me inserta al final en la bd erróneamente..

La verdad es que desearía que me indicaran como ir pasando las variables por 4 menús de salto seguidos y que en ningún paso se me vuelva al valor 1 y no al elegido.

LLevo dándole vueltas y no lo consigo...

Muchas gracias de antemano..
  #5 (permalink)  
Antiguo 28/11/2011, 11:24
 
Fecha de Ingreso: diciembre-2009
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: menú de salto dinámico

Buenas, pego el código que aunque generado por dreamweaver ha sido toqueteado por mí.. Espero que alguien me pueda ayudar con esto..

No consigo que me guarde las selecciones en cada menú de salto en la misma página..

Código:
<script type="text/javascript">
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
</script>

<html>
<body>

<div id="cuerpo">
    <div id="titulo">
      <h1>A&ntilde;ada su alojamiento</h1>
      <br />
   <form id="form1" name="form1" method="get" action="">
        <select name="jumpMenu" id="jumpMenu" onchange="MM_jumpMenu('parent',this,0)">
          <option value="">pais</option>
				  <?php
        do {  
        ?>
                  <option value="prop_add.php?idPais=<?php echo $row_pais['idPais']?>"><?php echo $row_pais['nombre']?></option>
                  <?php
        } while ($row_pais = mysql_fetch_assoc($pais));
          $rows = mysql_num_rows($pais);
          if($rows > 0) {
              mysql_data_seek($pais, 0);
              $row_pais = mysql_fetch_assoc($pais);
          }
        ?>
                </select>
                
  </form>
      <p><br />
      </p>
      
      
      
  <form id="form2" name="form2" method="get" action="">
        
       <?php  $paises=$_GET['idPais']; ?>
       <input type="hidden" name="idPais" value="<? echo $paises;?>">
        
        
        
        <select name="jumpMenu2" id="jumpMenu2" onchange="MM_jumpMenu('parent',this,0)">
          <option value="">region</option>
          
					  <?php
            do {  
            ?>
                      <option value="prop_add.php?idPais=<?php echo $row_pais['idPais']?>&idRegion=<?php echo $row_region['idRegion']?>"><?php echo $row_region['nombreRegion']?></option>
                      <?php
            } while ($row_region = mysql_fetch_assoc($region));
              $rows = mysql_num_rows($region);
              if($rows > 0) {
                  mysql_data_seek($region, 0);
                  $row_region = mysql_fetch_assoc($region);
              }
            ?>
        </select>
       
      </form>
      <br />
      <form id="form3" name="form3" method="get" action="">
       
        <?php $paises=$_GET['idPais']; 
              $regiones=$_GET['idRegion']; ?>
       <input type="hidden" name="idPais" value="<? echo $paises;?>">
       <input type="hidden" name="idRegion" value="<? echo $regiones;?>">
       
       
        <select name="jumpMenu3" id="jumpMenu3" onchange="MM_jumpMenu('parent',this,0)">
          <option value="value">provincia</option>
          <?php
do {  
?>
          <option value="prop_add.php?idPais=<?php echo $row_pais['idPais']?>&idRegion=<?php echo $row_region['idRegion']?>&idProvincia=<?php echo $row_provincia['idProvincia']?>"><?php echo $row_provincia['nombreProvincia']?></option>
          <?php
} while ($row_provincia = mysql_fetch_assoc($provincia));
  $rows = mysql_num_rows($provincia);
  if($rows > 0) {
      mysql_data_seek($provincia, 0);
	  $row_provincia = mysql_fetch_assoc($provincia);
  }
?>
        </select>
   
      </form><br />
      
      <form id="form4" name="form4" method="get" action="">
        
          <?php $paises=$_GET['idPais']; 
              $regiones=$_GET['idRegion']; 
			  $provincias=$_GET['idProvincia'];?>
       <input type="hidden" name="idPais" value="<? echo $paises;?>">
       <input type="hidden" name="idRegion" value="<? echo $regiones;?>">
         <input type="hidden" name="idProvincia" value="<? echo $provincias;?>">
        
        <select name="jumpMenu4" id="jumpMenu4" onchange="MM_jumpMenu('parent',this,0)">
          <option value="">municipio</option>
          <?php
do {  
?>
<option value="prop_add.php?idPais=<?php echo $row_pais['idPais']?>&idRegion=<?php echo $row_region['idRegion']?>&idProvincia=<?php echo $row_provincia['idProvincia']?>&idMunicipio=<?php echo $row_municipios['idMunicipio']?>"><?php echo $row_municipios['municipio']?></option>
          <?php
} while ($row_municipios = mysql_fetch_assoc($municipios));
  $rows = mysql_num_rows($municipios);
  if($rows > 0) {
      mysql_data_seek($municipios, 0);
	  $row_municipios = mysql_fetch_assoc($municipios);
  }
?>
        </select>
       
      </form>
<p><br />
        <br />
        <br />
      </p>
      <form id="form5" name="form5" method="POST" action="<?php echo $editFormAction; ?>">
        <p>
    <label for="nombreProp">nombre</label>
    <input type="text" name="nombreProp" id="nombreProp" />
  </p>
  <p>
    <label for="textfield"></label>
    <label for="aliasProp">alias</label>
    <input type="text" name="aliasProp" id="aliasProp" />
  </p>
  <p>
    <label for="descripcion">descripcion</label>
    <input type="text" name="descripcion" id="descripcion" />
    
        
    <?php $paises=$_GET['idPais']; 
              $regiones=$_GET['idRegion']; 
			  $provincias=$_GET['idProvincia'];
			  $losmunicipios=$_GET['idMunicipio'];?>?>
       <input type="hidden" name="idPais" value="<?php echo $paises ?>">
       <input type="hidden" name="idRegion" value="<?php echo $regiones ?>">
         <input type="hidden" name="idProvincia" value="<?php echo $provincias ?>">
         <input type="hidden" name="idMunicipio" value="<?php echo $losmunicipios?>">
     <input type="hidden" name="idPropietario" id="idPropietario" value="<?php echo $_SESSION['MM_idPropietario']; ?>" />
  </p>
  <p>
    <input type="submit" name="envio" id="envio" value="Enviar" />
  </p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <input type="hidden" name="MM_insert" value="form5" />
</form>

<?php
mysql_free_result($pais);

mysql_free_result($region);

mysql_free_result($provincia);

mysql_free_result($municipios);
?>

</body>



</html>

A ver si alguien me resuelve la duda ... Pasar 4 menús de salto a la misma página y después hacer un insert en bd.

Muchas gracias de antemano..
  #6 (permalink)  
Antiguo 29/12/2011, 17:14
 
Fecha de Ingreso: diciembre-2009
Mensajes: 125
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: menú de salto dinámico

Buenas, subo este tema ya que he resuelto mi problema después de pelearme un poco con él...

Lo he resuelto con un if, es decir si en GET no se tiene ningún valor me muestra el menú y si tiene alguno me muestra el nombre de ese valor..Me funciona perfectamente.

Ahora mi pregunta es la siguiente, si alguien está visitando ese menú de salto y no se equivoca no hay problema pero si se equivoca y quiere rectificar, no puede volver a elegir otra opción, a menos que vuelva a ir de nuevo a la pagina de entrada con la URL limpia de parámetros.

Entonces, quisiera saber cual sería la forma más óptima de realizar esto??

Muchas gracias de antemano y Feliz año que entra..

Etiquetas: salto
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 21:04.