Hola foro que tal, tengo este problema quiero realizar una búsqueda de colonias correspondientes a un codigo postal , el codigo postal lo introduzco en mi campo de texto, y las colonias las muestro en una lista con javascript y ajax,este es el código
código del js
Código PHP:
function codigoPostal()
{
// Obtengo el codigo postal
var CodigoPostal = document.getElementById("txtCodigoPostal").value;
var iCodigoPostal = CodigoPostal.value;
var idSelectDestino="selColonia";
var selectDestino=document.getElementById(idSelectDestino);
var divSelectDestino=document.getElementById("divColonias");
var botonBuscar=document.getElementById("btnBuscarColonia");
var ajax=nuevoAjax();
ajax.open("GET", "GeneraColonias.php?cp="+iCodigoPostal, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
/*selectDestino.length=0;
var nuevaOpcion=document.createElement("option");
nuevaOpcion.value=0;
nuevaOpcion.innerHTML="Cargando...";
selectDestino.appendChild(nuevaOpcion);
selectDestino.disabled=true;
botonBuscar.disabled=true;*/
}
if (ajax.readyState==4)
{
//botonBuscar.disabled=false;
//$("divOtraCd").style.display = 'none';
// if($("txtEstado") != null) document.getElementById("txtEstado").value = '';
//else $("cboEdo").value = 0;
//if($("txtMunicipio") != null) document.getElementById("txtMunicipio").value = '';
//else $("cboMunicipio").value = 0;
//if($("txtCiudad") != null) document.getElementById("txtCiudad").value = '';
//else $("cboCiudad").value = 0;
//$("divColoniaTxt").style.display = 'none';
//divSelectDestino.style.display = 'block';
divSelectDestino.innerHTML=ajax.responseText;
//selectDestino.parentNode.innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
y los php
donde muestro los datos
Código PHP:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<link rel="stylesheet" type="text/css" href="select_dependientes.css">
<script type="text/javascript" src="GeneraColonias.js"></script>
</head>
<body>
<form name="form1" method="post" action="">
<p>
<input type="text" name="txtCodigoPostal" id="txtCodigoPostal">
<input type="button" name="btnBuscarColonia" id="btnBuscarColonia" value="Buscar Colonia" onclick="codigoPostal();">
<div id="divColonias">
<select name="selColonia" id="selColonia">
<option value="-1" selected="selected">Seleccione una colonia</option>
</select>
</div>
</p>
<p> </p>
</form>
</body>
</html>
donde realizo mi consulta
Código PHP:
<?php
include 'conexion1.php';
include 'GeneraColoniasForm.php';
$cp=$_GET['codigoPostal'];
$txtCodigoPostal=$_GET['txtCodigoPostal'];
// $valorSeleccionado=mssql_query("SELECT asentamientoNombre FROM Asentamiento WHERE MATCH(codigoPostal) AGAINST('txtCodigoPostal')";//ciudadID,ciudad
//$valorSeleccionado=mssql_query("SELECT asentamientoNombre FROM Asentamiento WHERE codigoPostal LIKE '%$txtCodigoPostal%' ");//ciudadID,ciudad
$valorSeleccionado=mssql_query("SELECT asentamientoNombre FROM Asentamiento WHERE codigoPostal LIKE '$cp'");
while($registro=mssql_fetch_row($valorSeleccionado))
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
$registro[1]=htmlentities($registro[1]);
// Imprimo las opciones del select
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
?>
pero lo que realiza es que cuando introduzco mi codigo postal y doy clic en el boton me cre otro campo de texto y aun no me aparecen las colonias, Gracias