Re: predeterminar un select formado automaticamente ![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif) de hecho te entendi desde el primero, solo que un post sin bromas, no es un post ultimamente, y pues mirando tu codigo que me has proporcionado Cita: var dias = c.split(","); for (var i=0;i<dias.length;i++){
var nueva_opcion = adOpt(select_dias, i, dias[i], dias[i]);
if( dia == i ) nueva_opcion.selected = true;
} esta perfecto... solo que un detallito amigo.... nada serio...
solo que en esta parte de la evaluacion Cita: if( dia == i ) nueva_opcion.selected = true;
} debemos poner Cita: if( dia == i ) nueva_opcion.options[i].selected = true;
} para que efectivamente selecciones lo que anteriormente escribiste
muy amable derkenuke, como siempre
dejo el script completo... se que habra mas, pero lo importante es enriquecer nuestro foro
SCRIPT: Código HTML: <script language="JavaScript">
var mes;
var qmes;
var a="Elejir Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28";
var b="Elejir Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29";
var c="Elejir Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30";
var d="Elejir Dia,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31";
var e="Elejir Mes,Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre";
var f="Elejir Año,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013";
var mydate=new Date();
var year=mydate.getYear();
var dia=mydate.getDay();
var mes=mydate.getMonth();
if (dia<10){dia="0"+dia;}
if (mes<10){mes="0"+mes;}
if (year < 1000){year+=1900;}
function adOpt(oCtrl, iPs, sTt, sVl){
var sOpcion=new Option(sTt, sVl);
eval(oCtrl.options[iPs]=sOpcion);}
function inicializar(){
alert("Dia "+dia+" mes "+mes+" year "+year);
//Este pedazo es para los ciclos
ele=f.split(",");
oCtrl=document.getElementById('cicloa');
while (oCtrl.length) oCtrl.remove(0);
for (i=0;i<ele.length;i++){adOpt(oCtrl, i, ele[i], ele[i]);}
//este otro para los demas controles de fecha
for(j=0;j<3;j++){
switch(j){
case 0: ele=f.split(",");
oCtrl=document.getElementById('years');
while (oCtrl.length) oCtrl.remove(0);
for (i=0;i<ele.length;i++){
adOpt(oCtrl, i, ele[i], ele[i]);
if(ele[i]==year){oCtrl.options[i].selected = true;}}
break;
case 1: ele=e.split(",");
oCtrl=document.getElementById('months');
while (oCtrl.length) oCtrl.remove(0);
for (i=0;i<ele.length;i++){
adOpt(oCtrl, i, ele[i], i);
if(ele[i]==mes){oCtrl.options[i].selected = true;}}
break;
case 2: ele=d.split(",");
oCtrl=document.getElementById('days');
while (oCtrl.length) oCtrl.remove(0);
for (i=0;i<ele.length;i++){
adOpt(oCtrl, i, ele[i], ele[i]);
if(ele[i]==dia){oCtrl.options[i].selected = true;}}
break;
}
}
}
function Cambia(oCtrl){
while (oCtrl.length) oCtrl.remove(0);
mes=document.getElementById('months').selectedIndex;
switch (mes){
case 1: qmes=2; break;
case 2: qmes=0; break;
case 3: qmes=2; break;
case 4: qmes=1; break;
case 5: qmes=2; break;
case 6: qmes=1; break;
case 7: qmes=2; break;
case 8: qmes=2; break;
case 9: qmes=1; break;
case 10: qmes=2; break;
case 11: qmes=1; break;
case 12: qmes=2; break;
}
switch (qmes){
case 0:
ele=a.split(",");
for (i=0;i<ele.length;i++){
adOpt(oCtrl, i, ele[i], i);
}
break;
case 1:
ele=c.split(",");
for (i=0;i<ele.length;i++){
adOpt(oCtrl, i, ele[i], i);
}
break;
case 2:
ele=d.split(",");
for (i=0;i<ele.length;i++){
adOpt(oCtrl, i, ele[i], i);
}
break;
}
}
</script> y la forma en que mando llamar en los selects Cita: <select id="years" name="years"></select>
<select id="months" name="months" onchange="Cambia(document.getElementById('days'))" ></select>
<select id="days" name="days"></select> muchas gracias derkenuke ![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif) , ya funciona perfecto, ahora que si se puede depurar mas el codigo seria excelente
suerte
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |