A ver qué te parece esto:
Código HTML:
Ver original <form name="f1" id="f1" action="" method="post"> <input type="checkbox" value="1" id="c1" onClick='desplegar()'>Opci
ón 1
<br>
<input type="checkbox" value="2" id="c2" onClick='desplegar()'>Opci
ón 2
<br> <input type="checkbox" value="3" id="c3" onClick='desplegar()'>Opci
ón 3
<br> <div style="visibility:hidden" id='div1'> <input type="checkbox" value="1.1" id="c11">Opci
ón 1.1
<input type="checkbox" value="1.2" id="c12">Opci
ón 1.2
</div><div style="visibility:hidden" id='div2'> <input type="checkbox" value="2.1" id="c21">Opci
ón 2.1
<input type="checkbox" value="2.2" id="c22">Opci
ón 2.2
</div><div style="visibility:hidden" id='div3'> <input type="checkbox" value="3.1" id="c31">Opci
ón 3.1
<input type="checkbox" value="3.2" id="c32">Opci
ón 3.2
</div>
Código Javascript
:
Ver original<script type="text/javascript">
function desplegar(){
var c1 = document.getElementById('c1');
var c2 = document.getElementById('c2');
var c3 = document.getElementById('c3');
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
var div3 = document.getElementById('div3');
if(c1.checked==true){
div1.style.visibility = 'visible';
}else{
div1.style.visibility = 'hidden';
}
if(c2.checked==true){
div2.style.visibility = 'visible';
}else{
div2.style.visibility = 'hidden';
}
if(c3.checked==true){
div3.style.visibility = 'visible';
}else{
div3.style.visibility = 'hidden';
}
}
</script>
El problema que tiene es que si sólo se despliega el 2º o el 3º lo hacen más abajo pero eso se puede solucionar con un poco de CSS ¿no?
Saludos (: