Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] caja de chequeo

Estas en el tema de caja de chequeo en el foro de Javascript en Foros del Web. buenas tardes queria saber si me pudieran ayudar en este detalle que no he podido resolver, tengo un formulario el cual genera caja de chequeos ...
  #1 (permalink)  
Antiguo 01/07/2014, 18:22
Avatar de jcamacho  
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 1
caja de chequeo

buenas tardes queria saber si me pudieran ayudar en este detalle que no he podido resolver, tengo un formulario el cual genera caja de chequeos dependiendo de una cantidad de resultados que traigo de una base de datos, esto es variable por tanto desconozco cuantas cajas de chequeo puedo tener, el problema no esta aqui el problema es que cada vez que le doy clic alguno de ellos debo de verificar que al menos uno de ellos debe estar marcado, el nombre y id de cada una de estas cajas es diferente por ejem: <input type=checked name=ch0 ..... > <input type=checked name=ch1 .....> . adicional a esto tengo una caja de texto oculta con la cantidad de elementos que genere.

cuando le doy al evento click de algun checked lo mando a un procedimiento en javascript aqui es donde tengo el problema cuando quiero hacer referencia a ellos en el codigo de esta manera:

var chequear=document.getElementById('ch1').checked; pero el numero "1" lo tengo que generar de un ciclo repetitivo y no se como diablos esa variable la puedo inscrustar para que no me de error:

for i=0 to .....
var chequear=document.getElementById('ch'+i).checked; asi no le para
  #2 (permalink)  
Antiguo 01/07/2014, 21:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: caja de chequeo

Por favor, muéstranos la estructura HTML que tienes hecha para poder ver la forma de solucionar esto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 02/07/2014, 05:58
Avatar de jcamacho  
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: caja de chequeo

function ValidarChequeo(){

/* cantcheque es una caja de texto que tiene el valor de elementos generados en la pagina alla abajo despues de esto tengo que recorrer los checked para ver si alguno de ellos esta marcado y si es asi le doy valor a otra caja de texto oculta que se llama banchequeo. esto es lo que quisiera hacer pero mi problema esta cuando hago referencia a los checked porque no lo puedo hacer directamente con el nombre sino con el nombre mas el indice, pero el valor de la variable i del for no lo toma como una variable sino como un string en la comilla simple*/

for(i=0; ele=document.formAgregarUnidadAdministrativa.cantc hequeo.value; i++){

if (document.getElementById('ch[i]').checked){
document.formAgregarUnidadAdministrativa.bancheque o.value=1;
bandera=1;
break;}else{
document.formAgregarUnidadAdministrativa.bancheque o.value='';
document.formAgregarUnidadAdministrativa.valorcheq ueo.value='';
bandera=0;
}
}

}


<?
if($filSede > 0){
for ($j=0; $j < $filSede; $j++) {
print("<tr><td>");
$id = pg_result($ResulSede, $j, 0);
print("<input type='checkbox' id='ch[$j]' name='ch[$j]' value='$id' onclick='javascript:ValidarChequeo()' />".pg_result($ResulSede, $j, 2));
print("</td>");
print("</tr>");
}
}
?>
  #4 (permalink)  
Antiguo 02/07/2014, 06:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: caja de chequeo

Hola amigo,

Sigue faltando el HTML que @Alexis88 te sugirió colocaras........

Lo que observo a primera vista es que quires enviar a impresora esos <INPUT> con print() ?
__________________
Salu2!
  #5 (permalink)  
Antiguo 02/07/2014, 06:51
Avatar de jcamacho  
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: caja de chequeo

gracias alexis a la final era que no podia meter la variable dentro de las comillas simples como si se puede hacer en php:

if (document.getElementById('ch'+i).checked){

  #6 (permalink)  
Antiguo 02/07/2014, 06:54
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: caja de chequeo

O sea que si querias imprimir ese documento ?
__________________
Salu2!
  #7 (permalink)  
Antiguo 02/07/2014, 09:16
Avatar de jcamacho  
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: caja de chequeo

no lo que hace ese print es trabajar directamente con php y dibujarte el código html en este caso el check sin estar abriendo y cerrando etiquetas.... fijate que la variable $j hace que le pueda colocar el nombre al objeto check del valor que tengo del ciclo repetitivo.
  #8 (permalink)  
Antiguo 02/07/2014, 09:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: caja de chequeo

El codigo no tiene HIGHLIGTH asi que no veo mucho pero te aviso que <? ?> esta depredicado en PHP 5.5 y deberias acostumbrarte a usar <?php ?> en su lugar
__________________
Salu2!
  #9 (permalink)  
Antiguo 02/07/2014, 10:00
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: caja de chequeo

Cita:
Iniciado por jcamacho Ver Mensaje
mi problema esta cuando hago referencia a los checked porque no lo puedo hacer directamente con el nombre sino con el nombre mas el indice, pero el valor de la variable i del for no lo toma como una variable sino como un string en la comilla simple
Para evitar que te suceda eso, tienes que concatenar a la variable i con el resto de la cadena.

Código Javascript:
Ver original
  1. if (document.getElementById('ch[' + i + ']').checked){

Saludos

Edito: No actualicé la página y por eso no alcancé a ver que ya habías encontrado la solución.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: caja, formulario, input, variable
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 21:04.