Foros del Web » Programando para Internet » Javascript »

Maximo de checkbox seleccionados.

Estas en el tema de Maximo de checkbox seleccionados. en el foro de Javascript en Foros del Web. Hola a todos. No se si sera el sitio mas correcto este para mi pregunta. Se me ocurre que podria hacer en un grupo de ...
  #1 (permalink)  
Antiguo 22/07/2005, 07:01
 
Fecha de Ingreso: enero-2004
Mensajes: 132
Antigüedad: 20 años, 3 meses
Puntos: 0
Mensaje Maximo de checkbox seleccionados.

Hola a todos.

No se si sera el sitio mas correcto este para mi pregunta.

Se me ocurre que podria hacer en un grupo de checbox, que vienen de una consulta mysql y con php:
for($i=1;$i<$nr+1;$i++){?>
<input type="checkbox" name="entrante[<? echo $i;?>]" value= "<?echo $oRs->v("nombre_esp");?>"><?echo $oRs->v("nombre_esp");?><br>
<? $oRs->movenext();
}

Me gustaria que el cliente solo pudiera seleccionar un numero concreto del total de checbox.

Como podria hacerlo?

Muchas gracias de antemano.
__________________
La prueba mas clara de sabiduria es la alegria continua
  #2 (permalink)  
Antiguo 23/07/2005, 15:57
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Aqui la gente no suele entender de php, asi que deberias poner el codigo que genero tu php. He supuesto que seria algo asi:

Código PHP:
<form name="formulario">
    <
input type="checkbox" name="entrante" value="valor1">Checkbox1<br>
    <
input type="checkbox" name="entrante" value="valor2">Checkbox2<br>
    <
input type="checkbox" name="entrante" value="valor3">Checkbox3<br>
    <
input type="checkbox" name="entrante" value="valor4">Checkbox4<br>
    <
input type="checkbox" name="entrante" value="valor5">Checkbox5<br>
    <
input type="checkbox" name="entrante" value="valor6">Checkbox6<br>
    <
input type="checkbox" name="entrante" value="valor7">Checkbox7<br>
</
form
(El name ya se que no es asi, pero es mejor que compartan un name, si no no hay manera de saber que estan en el mismo grupo).

Asi que el codigo que yo he hecho es asi:

Código PHP:
<script>


function 
maximoChecked(nombre,max) {
    
checkboxes=document.getElementsByName(nombre);
    for(
a=0;a<checkboxes.length;a++) {        //les aplicamos el evento onclick
        
checkboxes[a].onclick=function() {
            if( 
this.checked==true) {        //iba a ponerle el check
                
grupo=document.getElementsByName(this.name);
                
cuantosChecked=0;
                for(
b=0;b<grupo.length;b++)
                    if(
grupo[b].checked)
                        
cuantosChecked++;
                if(
cuantosChecked>max) {
                    
alert("Lo siento, el maximo de checkados solo puede ser "+max);
                    
this.checked=false;
                }
            }
        }
    }    
}

maximoChecked("entrante",3);



</script> 
Sólo se le pasa el nombre comun de los checkbox y el maximo que pueden estar checkeados al mismo tiempo.


Te convence?
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 26/07/2005, 05:32
 
Fecha de Ingreso: enero-2004
Mensajes: 132
Antigüedad: 20 años, 3 meses
Puntos: 0
Ante todo, muchisimas gracias por tu ayuda.

Siento lo del codigo php, lo pongo ahora en html.

<input type="checkbox" name="entrante" value="valor1">Checkbox1<br>
<input type="checkbox" name="entrante[1]" value="valor2">Checkbox2<br>
<input type="checkbox" name="entrante[2]" value="valor3">Checkbox3<br>
<input type="checkbox" name="entrante[3]" value="valor4">Checkbox4<br>
<input type="checkbox" name="entrante[4]" value="valor5">Checkbox5<br>
<input type="checkbox" name="entrante[5]" value="valor6">Checkbox6<br>
<input type="checkbox" name="entrante[6]" value="valor7">Checkbox7<br>

Creo que seria algo asi.

Asi que intente ejecutar tu funcion, y realmente no consegui nada, en javascript estoy bastante nula. Necesitaria mas tiempo para ver como va, pero no queria dejar de responder para agradecerte tu ayuda.

De nuevo muchas gracias.
__________________
La prueba mas clara de sabiduria es la alegria continua
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:44.