Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2011, 04:40
fmorales
 
Fecha de Ingreso: enero-2005
Ubicación: Málaga
Mensajes: 30
Antigüedad: 19 años, 4 meses
Puntos: 1
Mantener valor de selects con Jquery + PHP

Hola, muchas gracias ante todo por vuestra ayuda ... mi problema es el siguiente:

Tengo tres select dependientes para que el usuario pueda seleccionar la:

Comunidad Autonoma - > Provincia - Municipio

Una vez hecho el post, guardo los datos en mi bbdd y a posteriori se recarga el formulario, el problema es que necesito que los selects mantenga la seleccion del usuario.

Uso PHP/Smarty, recupero los balores de la bbdd ... pero no estoy muy puesto en jquery y me está costando ... no logro hacer el selected con los valores id_cc, id_provincia e id_municipio ... por favor, podrias echarme una mano??

No se si tengo que hacerlo a nivel del script de PHP, que haga un echo del selected cuando al hacer el bucle compruebe que es el item seleccionado ... pero aun asi de todas formas, al recargar ... el jquery del select hace que vuelva al inicio, sin invocar a los script php no?

Este es mi codigo por ejemplo de uno de los script ... sin el selected .. aun

Supongo que la clave está en las linea:
Código:
$.post("/id_provincia.php", { elegido_cc: elegido }, function(data){
pero como os digo ... no entiendo aún muy bien como funciona y cual es la nomenclatura que está aplicando.

Además cunado los select se recarguen deberian de ser funcionales, es decir, el usuario deberia de poder volver a seleccionar otra comunidad autónoma y por lo tanto habrian de recargarse los select dependientes ....

Código:
$id = f_conecta_bd();

$elegido_cc = $_REQUEST["elegido_cc"];

$sql = "SELECT * FROM provincias WHERE id_cc='$elegido_cc' ORDER BY nombre";
$vh_datos = query_libre($sql);
$ls = "<option>Seleccione Provincia</option>";

for ($i =0; $i < count($vh_datos); $i++)
{
  $nombre           = $vh_datos[$i]["nombre"];
  $id_provincia_tmp = $vh_datos[$i]["id_provincia"];

  $ls = $ls . "<option value='$id_provincia_tmp'>$nombre</option>";

}

echo $ls;
Mil gracias

Código:
      <select style="margin-top:3px; width:225px" name="id_cc" id="id_cc">                                       
        {html_options options=$vh_lista_cc}                                       
       </select>
       <br>
       <select style="margin-top:3px; width:225px" name="id_provincia" id="id_provincia">                                                                  
           <option>Seleccione Provincia</option>
       </select>   
       <br>
       <select style="margin-top:3px; width:225px" name="id_municipio" id="id_municipio">                                
           <option>Seleccione Municipio</option>                                      
       </select>
Código:
$(document).ready(function(){
	// Parametros para e combo1
   $("#id_cc").change(function () {
   		$("#id_cc option:selected").each(function () {
			//alert($(this).val());
				elegido=$(this).val();
				$.post("/id_provincia.php", { elegido_cc: elegido }, function(data){
				$("#id_provincia").html(data);
				$("#id_municipio").html("");
			});			
        });
   })
	// Parametros para el combo2
	$("#id_provincia").change(function () {
   		$("#id_provincia option:selected").each(function () {
			//alert($(this).val());
				elegido=$(this).val();
				$.post("/id_municipio.php", { elegido_pr: elegido }, function(data){
				$("#id_municipio").html(data);
			});			
        });
   })
});

Última edición por fmorales; 26/01/2011 a las 05:47