Código PHP:
Ver original<html>
<header>
<?php
require('../Controlador/Inserciones.php');
require('../Controlador/Consultas.php');
?>
</header>
<head>
</head>
<body>
<label>FORMULARIO</label>
<form name="Formulario" action ="" method="POST">
<ul>
<li>
<label>Cedula</label>
<input type="number" name="cedula" value="" size="20">
</li>
<li>
<label>Nombre</label>
<input type="Text" name="nombre" value="" size="20">
</li>
<li>
<label>Apellido</label>
<input type="Text" name="apellido" value="" size="20">
</li>
<li>
<li>
<label>Sexo</label>
<Select name="sexo" id="sexo">
<option value="0">Mujer</option>
<option value="1">Hombre</option>
</Select>
</li>
<label>Telefono</label>
<input type="Text" name="tel" value="" size="20">
</li>
<li>
<label>Direccion</label>
<input type="Text" name="dir" value="" size="20">
</li>
<li>
<label>Email</label>
<input type="Text" name="correo" value="" size="20">
</li>
<li>
<label>Pais</label>
<select name="pais" id="pais">
<option value ="0"></option>
<?php
$consul = new Consultas();
$row = $consul->consulta_pais();
for($i = 0;$i < count($row); $i++){ $codigo = $row[$i]['codigo'];
$nombre_p = $row[$i]['nombre'];
echo '<option value ="'.$codigo.'">'.$nombre_p.'</option>';
}
?>
</select>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
// Parametros para el combo
$("#pais").change(function () {
$("#pais option:selected").each(function () {
valor=$(this).val();
$.post("../Vista/select.php", { valor: valor }, function(data){
$("#ciudad").html(data);
});
});
});
});
</script>
<label>Ciudad</label>
<select name="ciudad" id="ciudad">
</select>
<script type="text/javascript">
function Nombre_categoria(){
var x = document.getElementById('ciudad');
var indexselect = x.options[x.selectedIndex].text;
return indexselect;
}
</script>
<input type="Submit" name="btn_enviar" value="Boton para enviar" id="btn_enviar">
</form>
<?php
//<option val="0">Select</option>
if(isset($_POST["btn_enviar"])){ $direc = '<script>document.write(Nombre_categoria()) </script>';
echo $direc;
}
?>
</body>
</html>
-------------------------------------------------------------------------------
Segundo fichero donde el ajax envia el valor de Pais
Código PHP:
Ver original<?php
require('../Controlador/Consultas.php');
$con = new Consultas();
$busca = $_POST['valor'];
$row = $con->consulta_ciudad($busca);
for($i = 0;$i<count($row);$i++){ $codigo = $row[$i]['codigo'];
$nombre = $row[$i]['nombre'];
echo '<option value ="'.$codigo.'">'.$nombre.'</option>';
}
?>
----------------------------------------------------------------------------
Tercer Fichero donde realiza una consulta para que devuelva la lista de ciudades
Código PHP:
Ver originalpublic function consulta_ciudad($codigo){
if($this->connect()){
$query = "SELECT Ciud_cod,Ciud_nomb
FROM Ciudad
WHERE Ciud_cod_pais =".$codigo;
$result = $this->mysqli->query($query);
while($row = $result->fetch_object()){
$array = array("codigo"=>$row->Ciud_cod, "nombre"=>$row->Ciud_nomb);
$array_[] = $array;
}
return $array_;
}
$this->mysqli->free_result($result_);
}
Todo esta bien excepto el capturar la variable en php de javascript, la conexion a la DB esta bien, las opciones en el select de Ciudad tambien esta bien...