He seguido de un Tutorial para crear combobox dependientes de 2 niveles.
Tutorial: [URL="http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/"]http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/[/URL]
Ejemplo tablas en MySQL : Ciudades y Comunas.
Todo funciona OK!
Pero no he logrado agregar dos cosas que necesito.
La primera es que al momento de seleccionar por ejemplo una Ciudad que tenga dependientes, el Combobox de Comunas aparesca.
La segunda es que al momento de selecciona una Ciudad que no tenga dependientes, el Combobox de Comunas desaparesca.
Les dejo mi codigo, haber si me logran echar una manito :)
Código Javascript
:
Ver original<script type="text/javascript" charset="utf-8" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<!-- Combobox Dependientes -->
<script language="javascript">
//Inicializamos jQuery
$(document).ready(function(){
// Parametros para e combo1
$("#combo1").change(function () {
$("#combo1 option:selected").each(function () {
//alert($(this).val());
elegido=$(this).val();
$.post("combo1.php", { elegido: elegido }, function(data){
$("#combo2").html(data);
});
});
})
});
</script>
Código PHP:
Ver original<?php
include("../conectar/config.inc.php");
include("../conectar/mysql.class.php");
$db->open();
$consulta = $db->consulta("SELECT * FROM comuna WHERE ciudad_id LIKE '$_POST[elegido]'");
if ($row = $db->fetch_array($consulta)) {
do {
echo '<option value="'.$row['comuna_id'].'">'.$row['comuna_nombre'].'</option>';
}while($row = $db->fetch_array($consulta));
}
?>
Código PHP:
Ver original<?php
include("../conectar/config.inc.php");
include("../conectar/mysql.class.php");
?>
<div class="clearfix">
<label>Ciudad</label>
<select name="combo1" id="combo1">
<option value="0">Seleccione Ciudad</option>
<?php
$db->open();
$consulta = $db->consulta("SELECT * FROM ciudad");
if ($row = $db->fetch_array($consulta)) {
do {
echo
'<option value="'.$row[ciudad_id].'">'.$row[ciudad_nombre].'</option>';
}while($row = $db->fetch_array($consulta));
}
?>
</select>
</div>