Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Combo que depende de un campo input text

Estas en el tema de Combo que depende de un campo input text en el foro de Frameworks JS en Foros del Web. Hola. Me ando dando de topes con esto igual y es mas sencillo de lo que creo. Sucede que tengo un input text que se ...
  #1 (permalink)  
Antiguo 29/07/2011, 00:41
 
Fecha de Ingreso: enero-2011
Ubicación: Puebla
Mensajes: 9
Antigüedad: 13 años, 3 meses
Puntos: 0
Combo que depende de un campo input text

Hola. Me ando dando de topes con esto igual y es mas sencillo de lo que creo.
Sucede que tengo un input text que se autocompleta segun escriba el usuario; al escribir le va apareciendo una lista de municipios, selecciona el que busca y en el text queda el id del municipio.

Hasta allí todo bien lo que ahora quiero hacer es que cuando el usuario eligió el municipio enseguida aparezca el estado al que pertenece en un combo por si hay varios municipios con el mismo nombre y ya el usuario seleccione el municipio correcto.
Lo estoy haciendo con jquery y php.

el codigo de mi archivo html (selecciona_estado.php) es el siguiente:

Código:


Código Javascript:
Ver original
  1. <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
  2. <script language="JavaScript" type="text/JavaScript">
  3.     $(document).ready(function(){
  4.         $("#search").change(function(event){
  5.             var id = $("#search").find(':selected').val();
  6.             $("#select2").load('buscaestado.php?id='+id);
  7.         });
  8.     });
  9. </script>
Código HTML:
<form method="post" action="buscamunicipio.php">
Buscar: <br />
<input type="text" name="search" id="search" /> <br />
  <select name="select2" id="select2">
				<option selected="selected" value="0">Seleccione</option>
	  		 </select>
<input type="submit" name="enviar" value="Enviar" />
</form> 
Y el código php (buscaestado.php), resalto que tengo una clase donde tengo los métodos de conexión y consultas a mysql;

Código PHP:
Ver original
  1. <?
  2. require_once("escolar_fns.php"); //para llamar a la clase de mysql
  3. if ( !isset ($_REQUEST['id'] ) ) //
  4.     exit;
  5. $id = $_REQUEST['id'];
  6. $sql = "Select id_estado, estados.estado as 'Estado' from municipios, estados
  7.         where id_municipio='$id' and municipios.estado = estados.id_estado";
  8. $result = $conex->listaObjetos($sql); // pone en el arreglo $result el resultado de la consulta
  9. if ( count($result) < 0 )
  10.     exit;
  11. foreach ($result as $r)
  12.   echo '<option selected value="'.$r->id_estado.'">'.$r->Estado.'</option>';
  13. ?>

De antemano muchas gracias por sus respuestas. Saludos
  #2 (permalink)  
Antiguo 02/08/2011, 14:01
 
Fecha de Ingreso: enero-2011
Ubicación: Puebla
Mensajes: 9
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Combo que depende de un campo input text

Nadie contesta que gachos :S

el código para que autocomplete quedo así:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         jQuery(document).ready(function(){
  3.             $("#search").autocomplete({source:"pruebabuscamunicipio.php", minLength:'4'});
  4.         });
  5.     </script>
Pero cuando selecciono algun elemento de la lista en el combo no siempre se llena o avaces que tecleo el nombre completo y no aparece nada, cuando vuelvo a intentar si me lo muestra y cuando vuelvo a teclear me deja en el combo el ultimo resultado.

este es el código

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function(){  
  3. var elejido;
  4. $("#search").change(function(){
  5.   elejido = $(this).val();
  6.         $.post("buscaestado.php",{ id:elejido },function(data){
  7.             $("#select2").html(data);
  8.             })
  9.     });
  10. })
  11. </script>

Sospecho que debe estar mal en el metodo change porque al momento que seleccionó de las sugerencias me llena el combo de acuerdo a las sugerencias y no al elemento que elegí.

De antemano muchas gracias

Etiquetas: ajax, ajax-php-mysql, php
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 02:50.