SoloCodigo
Programación Web y Scripting => PHP => Mensaje iniciado por: JCSATIZABAL en Lunes 12 de Octubre de 2009, 06:02
-
Hola amigos, tengo esta inquitud, haber quien me colabora en php, o en javascrip o en ajax
Tengo un popup departamento, loq ue quiero es que cuando selecciones un departamento, automaticamente el otro campo del formulario (municipio) despliegue los municipios que hacen parte de ese depàrtamento, para asi no teenr que buscar en una gran lista los correspondientes
ejemplo
CAUCA: popayan, la sierra, caloto, etc
-
Describe el formulario en cuestión.
-
Aportas poca información... pero te diré en forma general qué debes hacer:
Tienes un 2 campos de tipo select (departamento y municipio). Desde la base de datos (o código fuente) cargas los datos al primer select (el de los departamentos). Le programas el evento onchange al primer select, para que cuando cambie su valor actual, mediante ajax puedas programar que el segundo se actualice. El segundo select debe estar dentro de un div, para que puedas refrescar ese espacio desde ajax.
Esta es una forma muy sencilla de hacerlo, pero si quieres algo más completo me avisas. Inténtalo y luego comenta cómo te va.
-
Tambien puedes cargarlo todo al principio y después hacerlo por javascript.
En el foro de javascrip hay un ejemplo de ésto.
-
Bueno pues yo siempre lo he echo asi, el select del departamento lo cargas normalmente, y en el head, copias esta funcion, y con el evento onchango en el select del departamento, llamas la funcion.
la funcion es la siguiente:
<script Language="JavaScript" Type="text/javascript">
function CargaMunic() {
var i=0;
var j=0;
var munis= new Array;
var valor;
valor=document.empresa.id_departamento.value;
<?
$consult2 ="SELECT * FROM departamento ORDER BY nombre";
$result2=mysql_query($consult2);
$num_result2 = mysql_num_rows($result2);
for ($i=0;$i<$num_result2;$i++)
{
$rows2=mysql_fetch_array($result2);
$id_depar=$rows2["id_departamento"];
$consult3 ="SELECT * FROM municipio WHERE id_departamento = '".$id_depar."' ORDER BY nombre";
$result3=mysql_query($consult3);
$num_result3= mysql_num_rows($result3);
echo " if (valor=='$id_depar') {";
echo " munis[i++]=new Option('');";
for ($j=0;$j<$num_result3;$j++)
{
$rows3=mysql_fetch_array($result3);
$cdmun=$rows3["id_municipio"];
$dsmun=$rows3["nombre"];
$dsmun=strtolower($dsmun);
$dsmun=ucfirst($dsmun);
echo " munis[i++]=new Option('$dsmun','$cdmun');";
echo " j=j+1;";
echo " document.empresa.id_municipio.options[j]=munis[j];";
}
echo " document.empresa.id_municipio.length=munis.length;";
echo " }";
}
?>
}
</script>
-
Otra solución en PHP: http://driverop.com.ar/depselect.php (http://driverop.com.ar/depselect.php" onclick="window.open(this.href);return false;)