Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2011, 19:01
Avatar de Richifredo
Richifredo
 
Fecha de Ingreso: noviembre-2011
Mensajes: 5
Antigüedad: 12 años, 6 meses
Puntos: 0
Utilizar variable en llamada a checkbox desde una funcion

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.