Foros del Web » Programando para Internet » Javascript »

Problema al recoger en una variable los checkbox con un mismo name que estan checked

Estas en el tema de Problema al recoger en una variable los checkbox con un mismo name que estan checked en el foro de Javascript en Foros del Web. Estoy intentando recoger en una variable todos los checkbox con un mismo name que estan checked y concatenarlos con | de la siguiente forma: <html> ...
  #1 (permalink)  
Antiguo 25/07/2010, 13:15
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Pregunta Problema al recoger en una variable los checkbox con un mismo name que estan checked

Estoy intentando recoger en una variable todos los checkbox con un mismo name que estan checked y concatenarlos con | de la siguiente forma:

<html>
<head>
<script language="javascript" type="text/javascript">
function comprobarCheckBoxCheked(){
var ckbx_arr=document.getElementsByName('Idcondenv');

var TodosPerfilesSeleccionados='' // Variable que recoge todos los CheckBox seleccionados
var ckbx_arr_ln=ckbx_arr.length;
for(var k=0;k<ckbx_arr_ln;k++){
if(ckbx_arr[k].checked)
if (TodosPerfilesSeleccionados==''){
TodosPerfilesSeleccionados=ckbx_arr[k].value
alert('TodosPerfilesSeleccionados:'+ TodosPerfilesSeleccionados);
}else{
TodosPerfilesSeleccionados= TodosPerfilesSeleccionados+ '|' + ckbx_arr[k].value;
alert('TodosPerfilesSeleccionados:'+ TodosPerfilesSeleccionados);

}
}
}
</script>
</head>
<body>
1. <INPUT value=1 CHECKED type=checkbox name=Idcondenv>
<br />
2. <INPUT value=2 type=checkbox name=Idcondenv unchecked>
<br />
3. <INPUT value=3 type=checkbox name=Idcondenv unchecked>
<a href="javascript:void(0)" rel=nofollow onClick="return comprobarCheckBoxCheked();">comprobar checkbox CHECKED</a>
</body>
</html>


Sin embargo al seleccionar más de un checkbox la variable TodosPerfilesSeleccionados solo muestra un valor aunque seleccione más de un checkBox, es decir, no me esta concatenado los checkBox en la variable TodosPerfilesSeleccionados.

¿Alguna idea de que estoy haciendo mal?

Gracias

Última edición por sqa212; 25/07/2010 a las 13:48
  #2 (permalink)  
Antiguo 25/07/2010, 13:49
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al recoger en una variable los checkbox con un mismo name que est

Ya lo solucione, olvide poner el { despues de if(ckbx_arr[k].checked)
  #3 (permalink)  
Antiguo 25/07/2010, 14:46
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problema al recoger en una variable los checkbox con un mismo name que est

De todas maneras a mí ese código no me funciona. Si marco más de un checkbox, me salen tantos alerts como checkboxs hay marcados. Supongo que no es eso lo que tú quieres, así que prueba con este código:
Código Javascript:
Ver original
  1. function comprobarCheckBoxCheked(){
  2.  var chk = document.getElementsByName('Idcondenv');
  3.  var len = chk.length;
  4.  var sel = new Array();
  5.  for (i = 0; i<chk.length; i++){
  6.   if(chk[i].checked){
  7.    sel[sel.length] = chk[i].value;
  8.   }
  9.  }
  10.  alert('TodosPerfilesSeleccionados: ' + sel.join(' | '));
  11. }
Y por cierto, es mejor que uses un botón en vez de un enlace.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 25/07/2010, 16:08
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al recoger en una variable los checkbox con un mismo name que est

Hola _cronos2, gracias por tu respuesta, efectivamente salian tantos alert como checkbox habia selecionado, porque los puse para ver lo que iba trayendo la variable (Debugging), poniendo el alert al final la variable trae todos los valores .

¿Por que es mejor usar un boton que un enlace?

<script language="javascript" type="text/javascript">
function comprobarCheckBoxCheked(){
var ckbx_arr=document.getElementsByName('Idcondenv');

var TodosPerfilesSeleccionados='' // Variable que recoge todos los CheckBox seleccionados
var ckbx_arr_ln=ckbx_arr.length;
for(var k=0;k<ckbx_arr_ln;k++){
if(ckbx_arr[k].checked){
if (TodosPerfilesSeleccionados==''){
TodosPerfilesSeleccionados=ckbx_arr[k].value
}else{
TodosPerfilesSeleccionados= TodosPerfilesSeleccionados+ '|' + ckbx_arr[k].value;
}
}
}
alert('TodosPerfilesSeleccionados:'+ TodosPerfilesSeleccionados);

}
</script>
  #5 (permalink)  
Antiguo 25/07/2010, 16:40
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problema al recoger en una variable los checkbox con un mismo name que est

Si te aclaras mejor con ese código vale, el mío sólo era para orientarte y porque al usar arrays es más corto, pero es mejor que tú lo entiendas del todo.
Lo del enlace, no es que funcione mejor o peor, pero digamos que es más correcto, o a mí me lo parece, pero por funcionar funcionan igual de bien.

Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 26/07/2010, 15:34
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Respuesta: Problema al recoger en una variable los checkbox con un mismo name que est

Gracias _cronos2

Etiquetas: checkbox, recoger, variables
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 00:06.