Miren esta función la encontre en un foro y la estoy mejorando para mi website. La función permite relacionar dos listas cargadas con php y MySQL "osea al seleccionar un departamento muestra los municipos de este unicamente"
La función quye ya esta probada y corre perfectamente es:
Estdepartamento = nombre de la lista departamento.
EstMunicipio = nombre de la lista Municipios.
Código:
<script language="javascript">
function ComponerLista(xMun) {
document.forms.Prematricula.EstDepartamento.disabled = true;
document.forms.Prematricula.EstMunicipio.length = 0;
CargarMunicipios(xMun);
document.forms.Prematricula.EstDepartamento.disabled = false;
}
function CargarMunicipios(xDep) {
var o
document.forms.Prematricula.EstMunicipio.disabled=true;
<?php
$TabMunicipios = mysql_query('SELECT * FROM mun ORDER BY descripcion ASC');
while ($RegMunicipio = mysql_fetch_array($TabMunicipios)) {
?>
if (xDep == <?php echo $RegMunicipio["cod_dep"]; ?>) {
o = document.createElement("OPTION");
o.text = '<?php echo $RegMunicipio["descripcion"]; ?>';
o.value = <?php echo $RegMunicipio["cod_mun"]; ?>;
document.forms.Prematricula.EstMunicipio.options.add (o);
}
<?php
}
mysql_free_result($TabMunicipios);
?>
document.forms.Prematricula.EstMunicipio.disabled=false;
}
</script>
/ / ASI HAGO EL LLAMADO EN EL ONCHANGE DE LA PRIMERA LISTA
<select name="EstDepartamento" id="EstDepartamento" class="CuadroTexto" onchange="ComponerLista(document.forms.Prematricula.EstDepartamento[selectedIndex].value);">
Ahora quiero mejorarlo para hacerlo más dinámico y que reciba como parámetro el nombre de la lista de departamentos y la lista de municipios y asi poder usar el mismo script varias veces en la pagina "Con otras listas me refiero". YO LO TENGO ASI PERO NO SE CASI JAVASCRIPT AYUDA!!!
Código:
<script language="javascript">
function ComponerLista(xMun, SelDepartamento, SelMunicipio) {
document.forms.Prematricula.+SelDepartamento+.disabled = true;
document.forms.Prematricula.+SelMunicipio+.length = 0;
CargarMunicipios(xMun,SelMunicipio);
document.forms.Prematricula.+SelDepartamento+.disabled = false;
}
function CargarMunicipios(xDep,SelMunicipio) {
var o
document.forms.Prematricula.+SelMunicipio+.disabled=true;
<?php
$TabMunicipios = mysql_query('SELECT * FROM mun ORDER BY descripcion ASC');
while ($RegMunicipio = mysql_fetch_array($TabMunicipios)) {
?>
if (xDep == <?php echo $RegMunicipio["cod_dep"]; ?>) {
o = document.createElement("OPTION");
o.text = '<?php echo $RegMunicipio["descripcion"]; ?>';
o.value = <?php echo $RegMunicipio["cod_mun"]; ?>;
document.forms.Prematricula.+SelMunicipio+.options.add (o);
}
<?php
}
mysql_free_result($TabMunicipios);
?>
document.forms.Prematricula.+>SelMunicipio+.disabled=false;
}
</script>
//ASI HAGO EL LLAMADO EN EL ONCHANGE DE LA PRIMERA LISTA
<select name="EstDepartamento" id="EstDepartamento" class="CuadroTexto" onchange="ComponerLista(document.forms.Prematricula.EstDepartamento[selectedIndex].value);","EstDepartamento","EstMunicipio">