Foros del Web » Programando para Internet » Javascript »

Dudas checkbox

Estas en el tema de Dudas checkbox en el foro de Javascript en Foros del Web. Buenas a todos Tengo un formulario con varios checkbox y estoy tratando de utilizar una funcion para invertir los checkbox seleccionados o marcar todos, el ...
  #1 (permalink)  
Antiguo 29/04/2005, 12:13
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 22 años
Puntos: 2
Dudas checkbox

Buenas a todos

Tengo un formulario con varios checkbox y estoy tratando de utilizar una funcion para invertir los checkbox seleccionados o marcar todos, el problema que solo lo quiero utilizar para un grupo y no para todos los checkbox que tengo en el formulario. como lo puedo arreglar.

El codigo Javascript que utilizo es el siguiente.

Código PHP:
<SCRIPT LANGUAGE="JavaScript">
function 
marcaTodos(formu) {
   for (
i=0i<formu.lengthi++) {
       
with (formu.elements[i]) {
    if(
className!='fieldset')
    if ( 
type == 'checkbox' ) { checked true }
       }
   }
}

function 
invierte(formu) {
   for (
i=0i<formu.lengthi++) {
       
with (formu.elements[i]) {
    if(
className!='fieldset')
    if ( 
type == 'checkbox' ) { checked = !checked }
       }
    }
}
</script> 
Por otro lado como puedo hacer para que el otro grupo de checkbox que dejo fuera de las funciones de invierte y marcaTodos no puedan seleccionar mas de uno osea que trabaje como un "radio"
desde ya muchas gracias y saludos a todos.
  #2 (permalink)  
Antiguo 29/04/2005, 12:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola Chuty

Puedes poner los checkbox que quieras controlar dentro de una capa. Te pongo un ejemplo en el que también te explico como hacer para que solo se pueda seleccionar uno:
Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
marcar(obj) {
  if(!
obj.checked) return;
  
ch document.getElementById('chk');
  
ch ch.getElementsByTagName('input');
  for(
i=0ele=ch[i];i++)
    if(
ele!=objele.checked=false;
}
</script>
</head>
<body>
<div id="chk">
<input type="checkbox" onclick="marcar(this)" />
<input type="checkbox" onclick="marcar(this)" />
<input type="checkbox" onclick="marcar(this)" />
</div>
</body>
</html> 
Saludos,
  #3 (permalink)  
Antiguo 29/04/2005, 13:12
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 22 años
Puntos: 2
Gracias JavierB es correcta tu respuesta, Pero me queda por arreglar el primer caso que es como hago para que no me modifique la funcion de invertir y seleccionar todo los demas checkbox, ya que tengo 3 grupos de checkbox y esa funcion la necesito en un solo grupo al igual que esta que me pasastes como ejemplo.
Igualmente gracias de nuevo
  #4 (permalink)  
Antiguo 30/04/2005, 04:29
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola de nuevo.

Puedes meterlos en otro div <div id="algo"> y usar un código parecido al que te puse en el anterior mensaje:
Código PHP:
function marcaTodos() {
   for (
i=0i<formu.lengthi++) {
    
ch document.getElementById('algo');
    
ch ch.getElementsByTagName('input');
    for(
i=0ele=ch[i];i++) 
       
with (ele) { 
Espero que te sirva. Saludos,
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 18:35.