Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/07/2005, 12:03
Pablinho
 
Fecha de Ingreso: julio-2004
Mensajes: 21
Antigüedad: 20 años, 6 meses
Puntos: 0
Ya lo he solucionado, a quien interese aca esta el codigo para controlar chekbox dinamicos:

1.Activar o desactivar todos los checkbox de una consulta dinamica desde otro checkbox principal(como en hotmail)

2.Una vez activado todos los checkbox se activa el principal

3.Si estan activados todos los checkbox y se desactiva cualquiera, se desactiva el principal.

Codigo de checkbox dinamicos:
//este es para el checkbox que activa o desactiva todos
<td><input name='principal' type='checkbox' onClick=\"modificarTodos(this.form, cantidad_checks)\"></td>


//este es para el checkbox dinamico, resultado de una consulta
<td><input name='opcion[]' id='op$i' type='checkbox' value='$codigo' onClick=\"modificar(this.form, cantidad_checks)\"></td>



Codigo Js:


//activa o desactiva todos los checbox
function modificarTodos(formulario,cantidad){
with (formulario){
if (principal.checked){
for (i = 0; i < cantidad; i++){
var check="document.getElementById('op"+i+"').checked= "+1;
eval (check);
}
}else{
for (i = 0; i < cantidad; i++){
var check="document.getElementById('op"+i+"').checked= "+0;
eval (check);
}
}
}

}

//cada vez que modifico un checkbox de la lista verifica el total de activados para //activar o no el principal

function modificar(formulario,cantidad){
var contador_on = 0;
var contador_off = 0;
with (formulario){
for (i = 0; i < cantidad; i++){
var check="var cad=document.getElementById('op"+i+"').checked";
eval (check);
if (cad){
contador_on++;
}else{
contador_off++
}
}

if (contador_on == cantidad)
principal.checked = 1;

if (contador_off >= 1)
principal.checked = 0;

}
}

espero les sirva.


Todo bien