28/07/2005, 12:03
|
| | 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 |