Que tal, bueno, intento implementar el primer truco que me diste pero no me da, a lo mejor no estoy implementandolo correctamente.. lo utilizo en:
Código PHP:
function moveValList(listFrom, listTo,origen){
var len = listTo.length;
if (!len) len=0;
for (var i=listFrom.length-1; i>=0; i--) {
if (listFrom.options[i].selected == true) {
s_frm = listFrom.options[i].text;
s_val = listFrom.options[i].value;
if(origen=='puesto'){
if(listFrom.name=='save_puestos'){
verificaRelacionFlujo(s_val);//esta es la funcion que se demora...
comprobador = setInterval( function() {
if( finDeTardona == true ) {
finDeTardona = false; // reestablecemos
clearTimeout( comprobador ); // paramos de comprobar
listTo[len++] = new Option(s_frm, s_val);
alert(i);
listFrom.options[i] = null;//****
}
}, 500);
}else{//Fin de IF save_puestos
listTo[len++] = new Option(s_frm, s_val);
listFrom.options[i] = null;
}
}else{
listTo[len++] = new Option(s_frm, s_val);
listFrom.options[i] = null;
}
alert('i = ' + i);//----
}//fin del IF selected
}//Fin del FOR
}//fin de Funcion
el problema esta en que al parecer el For sigue su camino y la variable de "i" me da -1 en la linea comentada con //**** , entonces al darme -1 me marca error en el objeto, menciono que el for continua por que tambien pongo un alert al final donde esta comentado con //---- y si me mustra ese alert antes que el del alert que esta antes de la linea que me genera el error, io crei que el for esperaria a que se cumpliera lo del comprovador, pero no lo hace, que hago mal?