Ayuda por favor!

A ver si me puedo explicar mas o menos bien.
Tengo hecho un menu en forma de arbol, en los cuales los hijos los genera dependiendo de los campos de una base de datos. Cada uno de los padres y de los hijos llaman a una misma funcion, la cual pasa un parametro dependiendo de por donde entre. Los padres me los hace bien y los hijos me los hace bien si lo primero que hago es pinchar un hijo. Una vez que pincho un padre ya no me funcionan los hijos. La funcion es la siguiente:
function comprueba(nivel)
{
alert(nivel)
alert("entra en comprueba")
var checkboxes_prov = formulario.provincia
var checkbox_comarcas = formulario.comarcas //padre de comarcas
var checkboxes_comar = formulario.comarca //hijos de comarcas
var checkbox_municipios = formulario.municipios //padre de municipios
var checkboxes_muni = formulario.municipio //hijos de municipios
var checkbox_nucleos = formulario.nucleos //padre de nucleos
var checkboxes_nuc = formulario.nucleo //hijos de nucleos
var todas_comarcas = checkboxes_comar.length //numero de comarcas hijas
var todos_municipios = checkboxes_muni.length //numero de municipios hijos
var todos_nucleos = checkboxes_nuc.length //numero de nucleos hijos
var cont_comar= 0
var cont_muni= 0
var cont_nuc= 0
var registros_comarcas = <%=registros_comarcas%>
var registros_municipios = <%=registros_municipios%>
var registros_nucleos = <%=registros_nucleos%>
if (nivel == "a")
{
//if (checkboxes_prov.checked==true)
// {
//alert("provincia=true")
document.formulario.comarcas.checked=false
document.getElementById('branch2').innerHTML = "<%rst.MoveFirst%><%do while not rst.EOF%>    <input name='comarca' type=checkbox value='<%=rst("Cod_Comarca")%>'><%=rst("Nombre_Comarca")%><br><%rst.MoveNext%><%loop%>"
document.formulario.municipios.checked=false
document.getElementById('branch3').innerHTML = "<%rst1.MoveFirst%><%do while not rst1.EOF%>   <input name='municipio' type=checkbox value='<%=rst1("Cod_Municipio")%>'><%=rst1("Municipio")%><br><%rst1.MoveNext%><%loop%>"
document.formulario.nucleos.checked=false
document.getElementById('branch4').innerHTML = "<%rst2.MoveFirst%><%do while not rst2.EOF%>   <input name='nucleo' type=checkbox value='<%=rst2("Cod_Nucleo")%>'><%=rst2("Nucleo")%><br><%rst2.MoveNext%><%loop%>"
// }
}
else if (nivel == "b")
{
if (checkbox_comarcas.checked==true)
{
//alert("comarca=true")
document.getElementById('branch2').innerHTML = "<%rst.MoveFirst%><%do while not rst.EOF%>    <input name='comarca' type=checkbox value='<%=rst("Cod_Comarca")%>' checked><%=rst("Nombre_Comarca")%><br><%rst.MoveNext%><%loop%>"
document.formulario.provincia.checked=false
document.formulario.municipios.checked=false
document.getElementById('branch3').innerHTML = "<%rst1.MoveFirst%><%do while not rst1.EOF%>   <input name='municipio' type=checkbox value='<%=rst1("Cod_Municipio")%>'><%=rst1("Municipio")%><br><%rst1.MoveNext%><%loop%>"
document.formulario.nucleos.checked=false
document.getElementById('branch4').innerHTML = "<%rst2.MoveFirst%><%do while not rst2.EOF%>   <input name='nucleo' type=checkbox value='<%=rst2("Cod_Nucleo")%>'><%=rst2("Nucleo")%><br><%rst2.MoveNext%><%loop%>"
}
else
{
//alert("comarca=false")
document.getElementById('branch2').innerHTML="<%rst.MoveFirst%><%do while not rst.EOF%>   <input name='comarca' type=checkbox value=''><%=rst("Nombre_Comarca")%><br><%rst.MoveNext%><%loop%>"
}
}
else if (nivel=="c")
{
alert(nivel)
for (var x = 0; x < checkboxes_comar.length; x++)
{
alert("pasa el bucle for")
if (checkboxes_comar[x].checked == true)
{
alert("1")
if(checkboxes_prov.checked==true)
{
alert("desactivar provincia")
document.formulario.provincia.checked=false
}
else
{
alert("2")
alert("provincia activa")
}
if(checkbox_municipios.checked == true)
{
alert("3")
checkbox_municipios.checked=false
}
else
{
alert("4")
}
if (checkboxes_muni.checked == true)
{
alert("5")
document.getElementById('branch3').innerHTML = "<%rst1.MoveFirst%><%do while not rst1.EOF%>   <input name='municipio' type=checkbox value='<%=rst1("Cod_Municipio")%>'><%=rst1("Municipio")%><br><%rst1.MoveNext%><%loop%>"
}
else
{
alert("6")
}
if (checkbox_nucleos.checked == true)
{
alert("7")
document.formulario.nucleos.checked=false
}
else
{
alert("8")
}
if (checkboxes_nuc.checked == true)
{
alert("9")
document.getElementById('branch4').innerHTML = "<%rst2.MoveFirst%><%do while not rst2.EOF%>   <input name='nucleo' type=checkbox value='<%=rst2("Cod_Nucleo")%>'><%=rst2("Nucleo")%><br><%rst2.MoveNext%><%loop%>"
}
else
{
alert("10")
}
}
// cont_comar = cont_comar + 1;
// alert (cont_comar)
}
}
//////FIN DE VALIDAR LAS COMARCAS///////
else if (nivel == "d")
{
if (checkbox_municipios.checked==true)
{
//alert("marca_municipio")
document.formulario.provincia.checked=false
document.formulario.comarcas.checked=false
document.getElementById('branch2').innerHTML = "<%rst.MoveFirst%><%do while not rst.EOF%>   <input name='comarca' type=checkbox value='<%=rst("Cod_Comarca")%>'><%=rst("Nombre_Comarca")%><br><%rst.MoveNext%><%loop%>"
document.formulario.nucleos.checked=false
document.getElementById('branch4').innerHTML = "<%rst2.MoveFirst%><%do while not rst2.EOF%>   <input name='nucleo' type=checkbox value='<%=rst2("Cod_Nucleo")%>'><%=rst2("Nucleo")%><br><%rst2.MoveNext%><%loop%>"
document.getElementById('branch3').innerHTML = "<%rst1.MoveFirst%><%do while not rst1.EOF%>   <input name='municipio' type=checkbox value='<%=rst1("Cod_Municipio")%>'...

1 respuesta

Respuesta
1
Porque no mejor me envias el código para verlo en funcionamiento y entender lo que pasa a la siguiente dirección: [email protected]
Todo empacado en un zip para que no pese demasiado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas