Foros del Web » Programando para Internet » Jquery »

Ayuda con Combobox dependientes jQuery

Estas en el tema de Ayuda con Combobox dependientes jQuery en el foro de Jquery en Foros del Web. He seguido de un Tutorial para crear combobox dependientes de 2 niveles. Tutorial: [URL="http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/"]http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/[/URL] Ejemplo tablas en MySQL : Ciudades y Comunas. Todo funciona OK! ...
  #1 (permalink)  
Antiguo 08/02/2011, 02:35
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 6 meses
Puntos: 3
Exclamación Ayuda con Combobox dependientes jQuery

He seguido de un Tutorial para crear combobox dependientes de 2 niveles.

Tutorial: [URL="http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/"]http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/[/URL]

Ejemplo tablas en MySQL : Ciudades y Comunas.

Todo funciona OK!

Pero no he logrado agregar dos cosas que necesito.

La primera es que al momento de seleccionar por ejemplo una Ciudad que tenga dependientes, el Combobox de Comunas aparesca.

La segunda es que al momento de selecciona una Ciudad que no tenga dependientes, el Combobox de Comunas desaparesca.


Les dejo mi codigo, haber si me logran echar una manito :)
Código Javascript:
Ver original
  1. <script type="text/javascript" charset="utf-8" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
  2. <!-- Combobox Dependientes -->
  3. <script language="javascript">
  4. //Inicializamos jQuery
  5. $(document).ready(function(){
  6.     // Parametros para e combo1
  7.    $("#combo1").change(function () {
  8.         $("#combo1 option:selected").each(function () {
  9.             //alert($(this).val());
  10.                 elegido=$(this).val();
  11.                 $.post("combo1.php", { elegido: elegido }, function(data){
  12.                 $("#combo2").html(data);
  13.             });        
  14.         });
  15.    })
  16.  
  17. });
  18. </script>


Código PHP:
Ver original
  1. <?php
  2. include("../conectar/config.inc.php");
  3. include("../conectar/mysql.class.php");
  4. $db = new MySQL();  
  5. $db->open();
  6. $consulta = $db->consulta("SELECT * FROM comuna WHERE ciudad_id LIKE '$_POST[elegido]'");
  7. if ($row = $db->fetch_array($consulta)) {
  8.        
  9.     do {
  10.        
  11.         echo '<option value="'.$row['comuna_id'].'">'.$row['comuna_nombre'].'</option>';
  12.     }while($row = $db->fetch_array($consulta));
  13. }
  14. ?>


Código PHP:
Ver original
  1. <?php
  2. include("../conectar/config.inc.php");
  3. include("../conectar/mysql.class.php");
  4. ?>
  5.  
  6. <div class="clearfix">
  7. <label>Ciudad</label>
  8. <select name="combo1" id="combo1">
  9. <option value="0">Seleccione Ciudad</option>
  10.  
  11. <?php
  12. $db = new MySQL();  
  13. $db->open();
  14. $consulta = $db->consulta("SELECT * FROM ciudad");
  15. if ($row = $db->fetch_array($consulta)) {
  16.     do {
  17.         echo
  18.         '<option value="'.$row[ciudad_id].'">'.$row[ciudad_nombre].'</option>';
  19.     }while($row = $db->fetch_array($consulta));
  20. }
  21. ?>
  22. </select>
  23. </div>
  #2 (permalink)  
Antiguo 08/02/2011, 03:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Ayuda con Combobox dependientes jQuery

Bueno logré lo que queria, modificando el codigo jQuery:

Con fadeIn(); y fadeOut();

Código Javascript:
Ver original
  1. <script language="javascript">
  2. //Inicializamos jQuery
  3. $(document).ready(function(){
  4.     // Parametros para e combo1
  5.    $("#combo1").change(function () {
  6.         $("#combo1 option:selected").each(function () {
  7.             //alert($(this).val());
  8.                 elegido=$(this).val();
  9.                 if(elegido == 1){ // 1 es igual a Ciudad Santiago.
  10.                     $.post("combo1.php", { elegido: elegido }, function(data){
  11.                     $("#combo2").html(data),
  12.                     $("#comuna").fadeIn();
  13.                 });
  14.                 }else{
  15.                     $.post("combo1.php", { elegido: elegido }, function(data){
  16.                     $("#combo2").html(data),
  17.                     $("#comuna").fadeOut();
  18.                 });                    
  19.                 }
  20.         });
  21.    })
  22. });
  23. </script>

Ahora intenaré que al momento de seleccionar la Ciudad de Santiago y luego seleccionar otra Ciudad. La comuna restablesca su valor a 0
  #3 (permalink)  
Antiguo 08/02/2011, 04:06
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Ayuda con Combobox dependientes jQuery

Ayuda!! , no logro hacer un reset a los SELECT !!.

Tengo este código al parecer funciona, pero mis SELECT se quedan donde mismo.
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function reset()
  3. {
  4. var selects = document.forms["form"].getElementsByTagName("SELECT");
  5. for (var i=0; i<selects.length; i++){
  6. selects.item(i).selectedIndex = 0;
  7. }
  8. }
  9. </script>

Código HTML:
Ver original
  1. <button onclick="reset()" class="button button-gray" type="reset">Restablecer</button>
  #4 (permalink)  
Antiguo 11/04/2011, 19:13
 
Fecha de Ingreso: abril-2011
Ubicación: Chiapas
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Respuesta: Ayuda con Combobox dependientes jQuery

Que tal, espero no sea demasiado tarde para aportar, la respuesta la puedes encontrar en esta página, esta bien explicadito y cumple con lo que requieres.

http://www.apuralemijo.com/2011/04/11/uso-de-selects-dependientes-con-jquery-php/


Si lo que necesitas es que aparezca y desaparezca el combo dependiente, unicamente tienes que mostrarlo en un div en lugar del select, es decir:

Código Javascript:
Ver original
  1. $.post("combo1.php", { elegido: elegido }, function(data){
  2. $("#id de tu div").html(data)

Y en el archivo combo1.php imprimes el select completo con sus respectivas opciones

=)

Espero les sirva.. saludos!!!!!

Etiquetas: ajax, combobox, dependientes
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 09:42.