Fechas y selects
Hace un mes o así te pregunté una cosa de unas tablas, no sé si te acuerdas... Bueno, aquéllo lo conseguí más o menos :))
Ahora tengo otro problema, espero que puedas ayudarme. Verás, tengo el siguiente código:
<html>
<head>
<script type="text/javascript">
hoy=new Date();
num=((hoy.getDate()<10) ? "0" : "")+hoy.getDate();
mes=hoy.getMonth();
meses=['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'];
diasxMes=[31,28,31,30,31,30,31,31,30,31,30,31];
Mes=meses[mes];
function setmes(){
for (var i=0;i<12;i++){
opt = new Option();
opt.value = meses ;
opt.text = meses;
if (mes==i) {opt.selected=true;}
document.getElementById('elmes').options = opt;
}
}
function setDias(){
for (var i=1;i<=diasxMes[mes];i++){
opt = new Option();
opt.value = i;
opt.text = i;
if (hoy.getDate()==i) {opt.selected=true;}
document.getElementById('dias').options[i-1] = opt;
}
}
function setSelects(){
setmes();
setDias();
}
</script>
</head>
<body onload="setSelects();">
<form name="frm">
dia ida:<select name="dias" id="dias">
</select>
<br><br>
mes ida:<select name="elmes" id="elmes">
</select>
<br><br>
dia regreso:<select name="dias2" id="dias2">
</select>
<br><br>
mes regreso:<select name="elmes2" id="elmes2">
</select>
</form>
</body>
</html>
Lo que hace es que recupera la fecha del sistema y en los dos primeros selects aparece el día y el mes en el que nos encontramos. Lo que no he conseguido es que en los dos selects siguientes, día y mes de regreso, aparezca la fecha siguiente a la fecha del sistema y que controle que si es 31 de enero aparezca 1 de febrero o que si es 28 de febrero aparezca 1 de marzo, y así con todos los meses. Imagino, por lo que he intentado, que se puede conseguir a base de hacer bucles for y condicionales, pero no doy con la fórmula exacta. ¿Podrías ayudarme o indicarme dónde conseguir un código que me ayude?
Ahora tengo otro problema, espero que puedas ayudarme. Verás, tengo el siguiente código:
<html>
<head>
<script type="text/javascript">
hoy=new Date();
num=((hoy.getDate()<10) ? "0" : "")+hoy.getDate();
mes=hoy.getMonth();
meses=['enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'];
diasxMes=[31,28,31,30,31,30,31,31,30,31,30,31];
Mes=meses[mes];
function setmes(){
for (var i=0;i<12;i++){
opt = new Option();
opt.value = meses ;
opt.text = meses;
if (mes==i) {opt.selected=true;}
document.getElementById('elmes').options = opt;
}
}
function setDias(){
for (var i=1;i<=diasxMes[mes];i++){
opt = new Option();
opt.value = i;
opt.text = i;
if (hoy.getDate()==i) {opt.selected=true;}
document.getElementById('dias').options[i-1] = opt;
}
}
function setSelects(){
setmes();
setDias();
}
</script>
</head>
<body onload="setSelects();">
<form name="frm">
dia ida:<select name="dias" id="dias">
</select>
<br><br>
mes ida:<select name="elmes" id="elmes">
</select>
<br><br>
dia regreso:<select name="dias2" id="dias2">
</select>
<br><br>
mes regreso:<select name="elmes2" id="elmes2">
</select>
</form>
</body>
</html>
Lo que hace es que recupera la fecha del sistema y en los dos primeros selects aparece el día y el mes en el que nos encontramos. Lo que no he conseguido es que en los dos selects siguientes, día y mes de regreso, aparezca la fecha siguiente a la fecha del sistema y que controle que si es 31 de enero aparezca 1 de febrero o que si es 28 de febrero aparezca 1 de marzo, y así con todos los meses. Imagino, por lo que he intentado, que se puede conseguir a base de hacer bucles for y condicionales, pero no doy con la fórmula exacta. ¿Podrías ayudarme o indicarme dónde conseguir un código que me ayude?
1 Respuesta
Respuesta de gandalf26
1