Foros del Web » Programando para Internet » Javascript »

Al deseleccionar un check, se activen los demas

Estas en el tema de Al deseleccionar un check, se activen los demas en el foro de Javascript en Foros del Web. Tengo el siguiente código, que hace que al marcar un checkbox, se desactiven los demás Código PHP: function  desactivarActivados () {     var  ataques  =  document ...
  #1 (permalink)  
Antiguo 16/10/2006, 10:26
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Al deseleccionar un check, se activen los demas

Tengo el siguiente código, que hace que al marcar un checkbox, se desactiven los demás

Código PHP:
function desactivarActivados()
{
    var 
ataques document.forms[0].elements['ataque'];
    var 
atacar document.getElementById('atacar');
    
    for(var 
0ataques.lengthi++)    {
        if(
ataques[i].checked)    {
            for(var 
0ataques.lengthj++)    {
                
ataques[j].disabled true;
            }
            
ataques[i].disabled false;
            
atacar.disabled false;
        }
    }

Lo que quiero hacer, es que al desmarcar la casilla marcada, vuelvan todos a quedar activados... He intentado de todo xD y no me resulta...

Gracias :)
  #2 (permalink)  
Antiguo 16/10/2006, 10:53
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
prueba con esto
Código PHP:
function desactivarActivados()
{
    var 
ataques document.forms[0].elements['ataque'];
    var 
atacar document.getElementById('atacar');
    
    for(var 
0ataques.lengthi++)    {
        if(
ataques[i].checked)    {
            for(var 
0ataques.lengthj++)    {
                
ataques[j].disabled true;
            }
            
ataques[i].disabled false;
            
atacar.disabled false;
        }
       else{
               for(var 
0ataques.lengthj++)    {
                
ataques[j].disabled false;
            }
        }
    }

__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 16/10/2006, 10:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Es raro el código que tienes, porque haces un bucle dentro de otro con el mismo conjunto de elementos...

Si el elemento es el que llamas atacar, creo que lo podrías simplificar.

function desactivarActivados()
{
var ataques = document.forms[0].elements['ataque'];
var atacar = document.getElementById('atacar').checked;

for(var i = 0; i < ataques.length; i++)
ataques[i].disabled = atacar;
}
}

Así se habiliyan/deshabilitan según esté chequeado el elemento atacar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 16/10/2006, 11:02
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
No xD... Lo siento caricatos... Pero atacar es un botón... No tiene nada que ver, lo que pasa, es que al chequear uno, también quiero que se habilite el botón...

Pero ese no es el problema xD... Al seleccionar uno, tienen que desactivarse los demás... y al deseleccionar el que se seleccionó, tienen que activarse los demás... xD

Gracias de todos modos

Edit: Probé el de eits, pero no funcionó... gracias :)
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 22:15.