Hace tiempo que uso este portal para ayudarme en la programacion, y hasta hoy no habia tenido la necesidad de dejar ningun mensaje, pero no me funciona lo que quiero hacer, nisiquiera leyendoos :)
Estoy creando un portal con unos 300 checkbox o_O que estaran agrupados en grupos de 6, lo cual me deja con unos 50 grupos.
Los nombres de los checkbox quiero que tengan la siguiente estructura:
Para el primer grupo:
"primergrupo1"
"primergrupo2"
"primergrupo3"
Para el segundo grupo:
"segundogrupo1"
"segundogrupo2"
"segundogrupo3"
A la hora de llamar a la funcion con el onClick, quiero que el nombre dado al checkbox, lo descomponga por un lado el string y por otro el entero, que compruebe con el string el grupo al que pertenece y con el entero el numero del checkbox para marcar los anteriores del grupo y desmarcar los siguientes, pero ahi es donde me quedo atascado y os pido ayuda!! :)
Esta es la creacion de los checks:
Código HTML:
<tr>
<td>Primer Grupo</td>
<td>
<input type=checkbox name="primergrupo1" onClick="rellenar(this.name)">
<input type=checkbox name="primergrupo2" onClick="rellenar(this.name)">
<input type=checkbox name="primergrupo3" onClick="rellenar(this.name)">
</td>
</tr>
<tr>
<td>Segundo Grupo</td>
<td>
<input type=checkbox name="segundogrupo1" onClick="rellenar(this.name)">
<input type=checkbox name="segundogrupo2" onClick="rellenar(this.name)">
<input type=checkbox name="segundogrupo3" onClick="rellenar(this.name)">
</td>
</tr>
Y esta seria la funcion en javascript
:
Código HTML:
<script>
function rellenar(b) {
longitud = b.length;
nombre = b.substring(0,longitud-1)
if (b.lastIndexOf(1) != -1) {
document.form1.nombre+'1'.checked = true;
document.form1.nombre+'2'.checked = false;
document.form1.nombre+'3'.checked = false;
} else if (b.lastIndexOf(2) != -1) {
document.form1.nombre+'1'.checked = true;
document.form1.nombre+'2'.checked = true;
document.form1.nombre+'3'.checked = false;
} else if (b.lastIndexOf(3) != -1) {
document.form1.nombre+'1'.checked = true;
document.form1.nombre+'2'.checked = true;
document.form1.nombre+'3'.checked = true;
}
}
</script>
Las llamadas tipo "document.form1.nombre+'1'.checked = true;" de la funcion las he probado de un monton de maneras y sigo sin saber como hacerlas. A ver si me podeis echar un cable.