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

select's dependientes

Estas en el tema de select's dependientes en el foro de Frameworks JS en Foros del Web. Saludos amigos, se que este tema ha sido muy comentado, etc... pero quisiera saber si alguien comparte mi caso particular de: tener algún código de ...
  #1 (permalink)  
Antiguo 06/10/2010, 14:27
Avatar de kovers  
Fecha de Ingreso: junio-2008
Ubicación: Caracas
Mensajes: 37
Antigüedad: 16 años, 4 meses
Puntos: 0
select's dependientes

Saludos amigos, se que este tema ha sido muy comentado, etc... pero quisiera saber si alguien comparte mi caso particular de: tener algún código de país, estado... que me permita utilizarlo en ambas direcciones, me explico mejor: al ingresar una información con esos datos, obviamente lista esa información agregada, si selecciono esa información para modificarla, necesito se se carguen los datos en los select's correspondientes... actualmente tengo un código que funciona chevere en una sola dirección, es decir me sirve solo para ingresar, mas no para modificar, ya que no me carga los datos en los select's aunque los datos ya hayan sido obtenidos desde la base de datos...

PD: si alguien me ofrece su ayuda y aporte, con algún ejemplo que utilice ajax+php(obviamente) y mysql, seria muchisimo mejor, saludos, se les quiere.
  #2 (permalink)  
Antiguo 06/10/2010, 14:36
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: select's dependientes

puedes hacer al traer los datos que ya tienes en la bd crea variables de session con el pais y el estado luego con la misma funcion en ajax o jquery q uses para llenar esos campos

entonces haces que al cargar la pagina traiga los paises pero en el archivo donde llenas los <options> agrega un if con la variable de session que creaste para q automaticamente aparesca seleccionada la opcion correcta y luego haces lo mismo cuando llenes los estados.

espero que entiendas lo que te quiero decir.
  #3 (permalink)  
Antiguo 06/10/2010, 14:52
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: select's dependientes

Hola,

Será cuestión de que busques por Internet, porque ya es un tema bastante hablado.
La solución es verificar en que idioma desea utilizar el sitio, mientras tanto, en la base de datos tendrías que tener un campo llamado "language" o como lo quieras denominar, entonces tendrías toda la información duplicada en tu base de datos pero solo para los idiomas que pretendas.

Es decir, podrías utilizar una session para recordar en que idioma tenés que hacer el select en tu base de datos, entonces en todas las consultas pondrías dentro del select, un lenguage='".$_SESSION["language"]."' y así automáticamente te cargaría la información correspondiente segun al idioma seleccionado.

Sino como ultima alternativa, y lo vi en varios sitios, es redireccionar al traductor de google. Se ahorran mucho sacrificio haciendo eso
__________________
Freelance - Aplicaciones Web
  #4 (permalink)  
Antiguo 07/10/2010, 08:59
Avatar de kovers  
Fecha de Ingreso: junio-2008
Ubicación: Caracas
Mensajes: 37
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: select's dependientes

saludos amigos gracias por haber respondido, entiendo lo que me dicen el problema es que ya lo he intentado y no me funciona, les dejo parte de mi código a ver que me sugieren:

primera parte HTML:

Código PHP:
Ver original
  1. <?php session_start(); ?>
  2. <div id="Div_edo">
  3. <select name="estado" onChange="javascript:cargarCombo('../comun/lib/edo-mun-par/edomun.php', 'idestado', 'Div_edomun')">
  4.     <option value="n" selected> -- Seleccione un Estado -- </option>
  5. <?php
  6.  
  7.     $estados = array('Amazonas' => "1-Amazonas",
  8.              'Anzoátegui' => "2-Anzoátegui",
  9.              'Apure' => "3-Apure",
  10.              'Aragua' => "4-Aragua",
  11.              'Barinas' => "5-Barinas",
  12.              'Bolívar' => "6-Bolívar",
  13.              'Carabobo' => "7-Carabobo",
  14.              'Cojedes' => "8-Cojedes",
  15.              'Delta Amacuro' => "9-Delta Amacuro",
  16.              'Distrito Capital' => "10-Distrito Capital",
  17.              'Falcón' => "11-Falcón",
  18.              'Guárico' => "12-Guárico",
  19.              'Lara' => "13-Lara",
  20.              'Mérida' => "14-Mérida",
  21.              'Miranda' => "15-Miranda",
  22.              'Monagas' => "16-Monagas",
  23.              'Nueva Esparta' => "17-Nueva Esparta",
  24.              'Portuguesa' => "18-Portuguesa",
  25.              'Sucre' => "19-Sucre",
  26.              'Táchira' => "20-Táchira",
  27.              'Trujillo' => "21-Trujillo",
  28.              'Vargas' => "22-Vargas",
  29.              'Yaracuy' => "23-Yaracuy",
  30.              'Zulia' => "24-Zulia",
  31.             );
  32.            
  33.     foreach($estados as $indice => $valor)
  34.     {
  35.    
  36.     $aux = explode('-', $valor);
  37.         $option = "<option value='".$valor."'";
  38.             if($aux[0] == $_SESSION['estado'])
  39.                 $option.=" selected>".$indice."</option>";
  40.             else
  41.                 $option.=">".$indice."</option>";
  42.         echo $option;
  43.     }//fin foreach
  44.  
  45. ?>
  46. </select>
  47. </div>
  48.  
  49.  
  50. <br/>
  51.  
  52. <div id="Div_edomun">
  53. <select name="municipio" disabled="disabled" id="idmunicipio">
  54. <option value="n" selected> -- Seleccione un Municipio -- </option>
  55. </select>
  56. </div>
  57.  
  58.  
  59. <br/>
  60.  
  61. <div id="Div_edomunpar">
  62. <select name="parroquia" disabled="disabled" id="idparroquia">
  63. <option value="n" selected> -- Seleccione una Parroquia -- </option>
  64. </select>
  65. </div>

segunda parte AJAX:

Código Javascript:
Ver original
  1. // JavaScript Document
  2.  
  3. var peticion = false;
  4.  
  5. var  testPasado = false;
  6.  
  7. try {
  8.  
  9.   peticion = new XMLHttpRequest();
  10.  
  11.   } catch (trymicrosoft) {
  12.  
  13.   try {
  14.  
  15.   peticion = new ActiveXObject("Msxml2.XMLHTTP");
  16.  
  17.   } catch (othermicrosoft) {
  18.  
  19.   try {
  20.  
  21.   peticion = new ActiveXObject("Microsoft.XMLHTTP");
  22.  
  23.   } catch (failed) {
  24.  
  25.   peticion = false;
  26.  
  27.   }
  28.  
  29.   }
  30.  
  31. }
  32.  
  33. if (!peticion)
  34.  
  35. alert("ERROR AL INICIALIZAR!");
  36.  
  37.  
  38.  
  39. function cargarCombo (url, comboAnterior, element_id) {
  40.  
  41.  
  42.     //Obtenemos el contenido del div
  43.  
  44.     //donde se cargaran los resultados
  45.  
  46.  
  47.     var element =  document.getElementById(element_id);
  48.  
  49.  
  50.     //Obtenemos el valor seleccionado del combo anterior
  51.  
  52.  
  53.     var valordepende = document.getElementById(comboAnterior)
  54.  
  55.     var x = valordepende.value
  56.  
  57.     if(x != 'n')
  58.     {
  59.  
  60.  
  61.           //construimos la url definitiva
  62.  
  63.           //pasando como parametro el valor seleccionado
  64.  
  65.  
  66.           var fragment_url = url+'?Id='+x;
  67.  
  68.  
  69.         //abrimos la url
  70.           peticion.open("GET", fragment_url);
  71.  
  72.           peticion.onreadystatechange = function()
  73.           {
  74.  
  75.           if (peticion.readyState == 4)
  76.           {
  77.  
  78.           //escribimos la respuesta
  79.  
  80.    
  81.             peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; UTF-8'); 
  82.  
  83.             element.innerHTML = peticion.responseText;
  84.  
  85.    
  86.  
  87.           }
  88.  
  89.           }
  90.  
  91.         peticion.send(null);
  92.     }//fin condicion
  93.  
  94. } //fin cargarCombo

tercera parte modelo PHP:

Código PHP:
Ver original
  1. <?php
  2.  
  3. include_once('../DBManejadorAdmin.php');
  4.     if($_REQUEST['Id'] != null )
  5.     {
  6.         $Id = $_REQUEST['Id'];
  7.         $aux = explode("-",$Id);
  8.         $IdEdo = $aux[0];
  9.     }
  10.        if(empty($_REQUEST))
  11.         {
  12.             $IdEdo = $_SESSION['estado'];      
  13.         }
  14.  
  15.     echo $IdEdo . '<br/>';
  16.        
  17.     $manejador = new DBManejadorAdmin();
  18.     if($manejador->conectar()==true)
  19.     {
  20.         $consulta = $manejador->consultarCondicion("id_municipio, nombre", "municipio", "id_estado =".$IdEdo);
  21.         $consultaMunicipios = $manejador->getFetch_array($consulta);
  22.     }
  23.  
  24.  
  25. ?>
  26.  
  27. <div id="Div_edomun">
  28.  
  29.     <select name="municipio" size="1"
  30.         onChange="javascript:cargarCombo('../comun/lib/edo-mun-par/edomunpar.php', 'idmunicipio', 'Div_edomunpar')" id="idmunicipio">
  31.           <option value="n" selected> -- Seleccione un Municipio -- </option>
  32. <?php
  33.  
  34.     if(!empty($consultaMunicipios))
  35.     {
  36.  
  37.         foreach($consultaMunicipios as $municipios)
  38.         {
  39.  
  40.             if( $municipios['id_municipio'] != null)
  41.             {
  42.                 $value = $municipios['id_municipio']."-".$municipios['nombre'];
  43.                 $option = "<option value='".$value."'";
  44.  
  45.                     if( $municipios['id_municipio'] == $_SESSION['municipio'] )
  46.                      $option.=" selected>".$municipios['nombre']."</option>";
  47.                     else
  48.                      $option.=">".$municipios['nombre']."</option>";
  49.                 echo $option;
  50.             }
  51.         }
  52.  
  53.     }
  54.     //while($municipio = mysql_fetch_array($consulta, MYSQL_ASSOC))
  55.     //    echo "<option value='".$municipio['id_municipio']."'>".$municipio['nombre']."</option>";
  56.     //      echo $municipio['id_municipio']."<br/>";
  57. ?>
  58.     </select>
  59. <?php
  60.  
  61.     if( $Id == "n" )
  62.     { ?>
  63.  
  64.     <select name="municipio" disabled="disabled" id="idmunicipio" OnLoad="javascript:deshabilitar()">
  65.       <option value="n" selected> -- Seleccione un Municipio -- </option>
  66.     </select>
  67.  
  68.     <script language="JavaScript">
  69.      deshabilitar();
  70.     </script>
  71.  
  72.  
  73. <?php } ?>
  74.  
  75. </div>

disculpen si molesto, agradezco su paciencia y colaboración.
  #5 (permalink)  
Antiguo 07/10/2010, 09:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a AJAX
  #6 (permalink)  
Antiguo 07/10/2010, 09:20
Avatar de kovers  
Fecha de Ingreso: junio-2008
Ubicación: Caracas
Mensajes: 37
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: select's dependientes

Gracias GatorV, espero puedan ayudarme.

Etiquetas: ajax, select, php-mysql
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 00:04.