Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Select dependiente

Estas en el tema de Select dependiente en el foro de PHP en Foros del Web. Buenas gente, es mi primera vez! En el foro! ja! El tema es el siguiente: Tengo un select dependiente donde ingreso el Codigo Postal y ...
  #1 (permalink)  
Antiguo 10/12/2012, 12:25
Avatar de Nico0601  
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 6 años, 7 meses
Puntos: 0
Select dependiente

Buenas gente, es mi primera vez! En el foro! ja! El tema es el siguiente:
Tengo un select dependiente donde ingreso el Codigo Postal y me va tirando la localidad, provincia y seccional. El problema es que la provincia y seccional me tira cualquier cosa.
Tengo 3 archivos que hace esto, el html, un js y otro php.
Los pego aca a ver si lo pueden ver...
EL HTML PRIMERO.....
<body>
<div id="muestra">
<form action="">
<div>
<label>Codigo Postal: </label>
<select id="cp">
<option value="">Seleccione C.P.</option>
<?php while($r=mysql_fetch_array($c)){
echo "<option value=".$r['id_cod'].">".$r['cod_post']."</option>";
} ?>
</select>
</div>
<div>
<label>Localidad: </label>
<select id="localidad" disabled="disabled"> </select>
<img id="imglocalidad" style="display: none;" src="loading.gif" alt="Cargando" />
</div>
<div>
<label>Provincia: </label>
<select id="provincia" disabled="disabled"> </select>
<img id="imgprovincia" style="display: none;" src="loading.gif" alt="Cargando" />
</div>
<div>
<label>Seccional: </label>
<select id="seccional" disabled="disabled"> </select>
<img id="imgseccional" style="display: none;" src="loading.gif" alt="Cargando" />
</div>
<button id="enviar">Enviar</button>
</form>

</div>
</body>

AHORA EL JS.....

$(document).ready(function(){
$("#cp").change(function(){
$("#localidad").empty().attr("disabled","disabled" );
$("#provincia").empty().attr("disabled","disabled" );
$("#seccional").empty().attr("disabled","disabled" );
if($(this).val()!=""){
var dato=$(this).val();
$("#imglocalidad").show();
$.ajax({
type:"POST",
dataType:"html",
url:"action.php",
data:"id_cod="+dato+"&tarea=listLocalidad",
success:function(msg){
$("#localidad").removeAttr("disabled").append(msg) ;
$("#imglocalidad").hide();
}
});
}else{
$("#localidad").empty().attr("disabled","disabled" );
$("#provincia").empty().attr("disabled","disabled" );
}
});
$("#localidad").change(function(){
if($(this).val()!=""){
var dato=$(this).val();
$("#imgprovincia").show();
$.ajax({
type:"POST",
dataType:"html",
url:"action.php",
data:"id_prov="+dato+"&tarea=listProvincia",
success:function(msg){
$("#provincia").empty().removeAttr("disabled").app end(msg);
$("#imgprovincia").hide();
}
});
}else{
$("#provincia").empty().attr("disabled","disabled" );
}
});
$("#provincia").change(function(){
if($(this).val()!=""){
var dato=$(this).val();
$("#imgseccional").show();
$.ajax({
type:"POST",
dataType:"html",
url:"action.php",
data:"id_secc="+dato+"&tarea=listSeccional",
success:function(msg){
$("#seccional").empty().removeAttr("disabled").app end(msg);
$("#imgseccional").hide();
}
});
}else{
$("#seccional").empty().attr("disabled","disabled" );
}
});
});

Y EL PHP.....

<?php

include("configuracion.inc.php");
//$link=mysql_connect($server,$usuario,$clave);//me conecto al servidor

function getLocalidad(){
global $link;
$sql="select * from cod_post where id_cod=".$_POST["id_cod"];
$result=mysql_query($sql,$link);
$resp="";
if($result){
if(mysql_num_rows($result)>0){
$resp.="<option value=''>Seleccione Localidad</option>";
while($r=mysql_fetch_object($result)){
$resp.="<option value='".$r->id_cod."'>".$r->localidad."</option>";
}
}else $resp.="<option value=''>Seleccione Localidad</option>";
}else $resp="ERROR";
echo $resp;
}

function getProvincia(){
global $link;
$sql="select * from provincia where id_prov=".$_POST["id_prov"];
$result=mysql_query($sql,$link);
$resp="";
if($result){
if(mysql_num_rows($result)>0){
$resp.="<option value=''>Seleccione Provincia</option>";
while($r=mysql_fetch_object($result)){
//$resp.="$r->id_prov".$r->nombre_prov."";
$resp.="<option value='".$r->id_prov."'>".$r->nombre_prov."</option>";
}
}else $resp="<option value=''>Seleccione Provincia</option>";
}else $resp="ERROR";
echo $resp;
}
function getSeccional(){
global $link;
$sql="select * from seccionales where id_secc=".$_POST["id_secc"];
$result=mysql_query($sql,$link);
$resp="";
if($result){
if(mysql_num_rows($result)>0){
$resp.="<option value=''>Seleccione Seccional</option>";
while($r=mysql_fetch_object($result)){
$resp.="<option value='".$r->id_secc."'>".$r->seccional."</option>";
}
}else $resp="<option value=''>Seleccione Seccional</option>";
}else $resp="ERROR";
echo $resp;
}
if($_POST){
switch($_POST["tarea"]){
case "listLocalidad":getLocalidad();
break;
case "listProvincia":getProvincia();
break;
case "listSeccional":getSeccional();
break;
}
}
?>

La base se llama cp y tiene tres tablas: cod_post, provincia y seccionales
en cod_post tengo id_cod cod_post localidad provincia seccional
en provincia tengo id_prov nombre_prov
y en seccionales tengo id_secc seccional

Espero puedan ayudarme!
Graciassss
__________________
Nico...

Etiquetas: dependiente, html, select, sql, tabla, usuarios
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 16:14.