He encontrado por ahí esta función que me muestra/oculta un campo al seleccionarlo:
Código:
<script language="javascript"> function MuestraTabla (objTabla) { if (objTabla.style.display == '') { objTabla.style.display = 'none'; } else { objTabla.style.display = ''; } } </script>
Esta funcion está en cada DIV con el evento onClick y cada DIV lo tengo con style="display: none;" y como ID del formato "I + un numero" (I1, I2, I3... hasta el I22), lo que hace esta funcion es que me muestre/oculte su correspondiente DIV utilizando los IDs al hacer click sobre ellos.
Lo que quiero agregarle es algo que haga lo siguiente: cuando tengo uno de los DIV mostrados y pinche en otro DIV, es decir, llame a la funcion MuestraTabla de otro DIV, me oculte el que esté "abierto".
Se me había ocurrido hacer un bucle FOR para que haga un "barrido" de todos los IDs menos el que acabo de pinchar para que los oculte, y he hecho lo siguiente:
Código:
Esto me da error en la línea idTodos.style.display = 'none'; y aquí es donde se me acaban los conocimientos de JavaScript y solicito su ayuda, porque no me se manejar muy bien con los objetos del navegador.<script language="javascript"> function MuestraTabla (objTabla) { if (objTabla.style.display == '') { objTabla.style.display = 'none'; } else { objTabla.style.display = ''; } for(x=0; x<22; x++) { idTodos = 'I' + x; if(objTabla != idTodos) { idTodos.style.display = 'none'; } } } </script>
Gracias de antemano por la ayuda prestada.
Saludos
Carlos