Foros del Web » Programando para Internet » Javascript »

Trabajar con nomenclatura checkbox

Estas en el tema de Trabajar con nomenclatura checkbox en el foro de Javascript en Foros del Web. Saludos corillo: Estoy trabajando en una aplicación que al final la lista de los nombre de los checkbox ha quedado algo como access[1][] , access[2][] ...
  #1 (permalink)  
Antiguo 13/09/2010, 11:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Trabajar con nomenclatura checkbox

Saludos corillo:

Estoy trabajando en una aplicación que al final la lista de los nombre de los checkbox ha quedado algo como access[1][], access[2][], access[4][], access[8][], o sea la primera llave es en forma de bit y el otro vacio, para así tomarlo en orden. He logrado tomar los valores y ver si al menos seleccionó uno de esta forma
Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function chkAccessCheckbox(){
  3.     var arr = new Array(1,2,4,8);
  4.     var bool = false;
  5.     for(var i in arr){
  6.         var access = document.getElementsByName('access[' + arr[i] + '][]');
  7.         for (var x in access) {
  8.             if(access[x].checked){
  9.                 bool = true;
  10.             }
  11.         }
  12.     }
  13.     return bool;
  14. }
  15. </head>
  16.  
  17. <form action="#" onsubmit="return chkAccessCheckbox();">
  18.     <input type="checkbox" name="access[1][]" value="1" />
  19.     <input type="checkbox" name="access[1][]" value="2" />
  20.     <input type="checkbox" name="access[1][]" value="4" />
  21.     <input type="checkbox" name="access[1][]" value="8" />
  22.     <input type="checkbox" name="access[1][]" value="16" />
  23.  
  24.     <input type="checkbox" name="access[2][]" value="1" />
  25.     <input type="checkbox" name="access[2][]" value="2" />
  26.     <input type="checkbox" name="access[2][]" value="4" />
  27.     <input type="checkbox" name="access[2][]" value="8" />
  28.     <input type="checkbox" name="access[2][]" value="16" />
  29.  
  30.     <input type="checkbox" name="access[4][]" value="1" />
  31.     <input type="checkbox" name="access[4][]" value="2" />
  32.     <input type="checkbox" name="access[4][]" value="4" />
  33.     <input type="checkbox" name="access[4][]" value="8" />
  34.     <input type="checkbox" name="access[4][]" value="16" />
  35.  
  36.     <input type="checkbox" name="access[8][]" value="1" />
  37.     <input type="checkbox" name="access[8][]" value="2" />
  38.     <input type="checkbox" name="access[8][]" value="4" />
  39.     <input type="checkbox" name="access[8][]" value="8" />
  40.     <input type="checkbox" name="access[8][]" value="16" />
  41.  
  42.     <input type="submit" />
  43. </form>
Lo que me gustaría es que pueda, en el código, tomarlo de forma dinámica sin tener que estar mencionando var arr = new Array(1,2,4,8);. De que forma podría tomar los campos e ir iterando sin mencionarlos dentro del código, o sea de forma dinámica. Me imagino que con DOM lo puedo tomar. Bueno espero respuesta.

Gracias
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #2 (permalink)  
Antiguo 13/09/2010, 11:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Trabajar con nomenclatura checkbox

Hola:

Más que como manejo de bits, me parece que estás planteando el tema como un array asociativo o de objetos, y no creo que javascript se estire más que eso...

Si no recuerdo mal, las rotaciones de bits se hacen con los operadores >> y <<, aunque siempre existirá "el viejo truco" de usar las potencias de dos...

Como en otras muchas ocasiones, tal vez "mee fuera del tarro", así que si no he atinado, te propongo que amplies la pregunta.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 13/09/2010, 11:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Trabajar con nomenclatura checkbox

Bueno sí, en si estoy manejándolo como asociativo, porque yo lo declaro, pero luego lo uso en PHP como bit, y la forma como lo logro es como tú bien dices el "viejo truco" . Bueno pues me voy a tener que conformar con lo que he logrado al momento. Gracias

PD: Si de casualidad te acuerdas de alguna forma y lo buscaste en la enciclopedia que tienes por cerebro me dejas saber
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 13/09/2010, 14:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Trabajar con nomenclatura checkbox

Bueno la forma más dinámica que pude lograr es esta, gracias a la idea que me diste caricatos
Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function chkAccessCheckbox(){
  3.     var i = 1;
  4.     while(true){
  5.         var access = document.getElementsByName('access[' + i + '][]');
  6.         if(access.length == 0) return false;
  7.         for (var x in access) {
  8.             if(access[x].checked){
  9.                 return true;
  10.             }
  11.         }
  12.         i = i << 1;
  13.     }
  14. }
  15. </head>
  16.  
  17. <form action="#" onsubmit="return chkAccessCheckbox();">
  18.     <input type="checkbox" name="access[1][]" value="1" />
  19.     <input type="checkbox" name="access[1][]" value="2" />
  20.     <input type="checkbox" name="access[1][]" value="4" />
  21.     <input type="checkbox" name="access[1][]" value="8" />
  22.     <input type="checkbox" name="access[1][]" value="16" />
  23.  
  24.     <input type="checkbox" name="access[2][]" value="1" />
  25.     <input type="checkbox" name="access[2][]" value="2" />
  26.     <input type="checkbox" name="access[2][]" value="4" />
  27.     <input type="checkbox" name="access[2][]" value="8" />
  28.     <input type="checkbox" name="access[2][]" value="16" />
  29.  
  30.     <input type="checkbox" name="access[4][]" value="1" />
  31.     <input type="checkbox" name="access[4][]" value="2" />
  32.     <input type="checkbox" name="access[4][]" value="4" />
  33.     <input type="checkbox" name="access[4][]" value="8" />
  34.     <input type="checkbox" name="access[4][]" value="16" />
  35.  
  36.     <input type="checkbox" name="access[8][]" value="1" />
  37.     <input type="checkbox" name="access[8][]" value="2" />
  38.     <input type="checkbox" name="access[8][]" value="4" />
  39.     <input type="checkbox" name="access[8][]" value="8" />
  40.     <input type="checkbox" name="access[8][]" value="16" />
  41.  
  42.     <input type="submit" />
  43. </form>
  44. </body>
  45. </html>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: checkbox, trabajo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:30.