Ver Mensaje Individual
  #13 (permalink)  
Antiguo 11/02/2009, 16:33
Avatar de SPAWN3000
SPAWN3000
 
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
De acuerdo Respuesta: abrir archivo excel en una hoja específica

Cita:
Iniciado por Betina232022 Ver Mensaje
A mi tampoco me gusta la idea del relojito, además de que no funciona como quisiera.
Así tengo el ciclo para los check:

J=500;
if (dato == "Todo") {
for (I=1; I<=500; I++) {
Nom="document.ValidForms.S" + I + ".checked = true";
eval(Nom);
Nom="document.ValidForms.S" + J + ".checked = true";
eval(Nom);
J=J-1;

}
}
else {
document.ValidForms.reset();
}
Exacto!, era lo que tenia propuesto... estaba apunto de enviarte un código parecido, pero veo que ya lo tienes... y trabaja mejor con los id's... es mas rapido.

function marcaAllCheckBox(objForm){
//Es mejor separar la variable y no estarla analizando en el for, aumenta el rendimiento
var miform=document.forms[objForm].elements.length;
k = miform-1;
miform = Math.floor(miform/2);
for (i=0;i<=miform;i++){
...
}
}

También puedes recuperar los check en grupos de 100 en 100, y haces un sistema de paginación.

Puedes agregar 4 variables... y divides el ciclo en cuatro:
2 que aumentan, y 2 que disminuyen.

digamos que el ciclo vale 1000. se divide en 4 y es 250 el numero de repeticiones, algo significativo.

ahora:
i=0 hasta 250; //aumenta.
j=500 hasta 250; //disminuye.
k=500 hasta 750; //aumenta.
y Q=1000 hasta 750. //disminuye.

Dividimos el tiempo en 4... y es aun mas rápido si los objetos no están visibles.
Crear un div contenedor de todos los check, y darle la opción CSS display:none; antes de iniciar el proceso, al finalizar tornarlo visible nuevamente.

Última edición por SPAWN3000; 11/02/2009 a las 16:52