这里的日为什么不会动态变化啊

<!DOCTYPE HTML>

<html>

<head>

<title>年月日</title>

<script type="text/javascript">

function one(){

//创建年

var year=document.getElementById('year');

var date=new Date();

for(var i=1900;i<=date.getFullYear();i++){

var y=document.createElement("option");

y.innerText=i;

year.appendChild(y);

}

//创建月

var month=document.getElementById("month");

for(var i=1;i<=12;i++){

var m=document.createElement("option");

m.innerText=i;

month.appendChild(m);

}

//创建日

var day=document.getElementById("day");

var run=0;

var ye=parseInt(year.value);

var mo=parseInt(month.value);

switch(mo){

case 1:case 3:case 5:case 7:case 8:case 10:case 12:

run=3;

break;

case 4:case 6:case 6:case 11:

run=2;

break;

case 2:

if(ye%4==0&&ye%100!=0||ye%400==0){

run=1;

break;

}

}

for(var i=1;i<=28+run;i++){

var d=document.createElement("option");

d.innerText=i;

day.appendChild(d);

}


}

</script>

</head>

<body onLoad="one()">

<table>

<tr>

<td>

<select id="year">

</select>

</td>

<td>

<select id="month">

</select>

</td>

<td>

<select id="day">

</select>

</td>

</tr>

</table>

</body>

</html>


漫之旅
浏览 1277回答 2
2回答

李晓健

因为你一进来就是1月呀  所以就会是31天,然后就不会再变了你可以试下这样,当年和月改变时再生成一次<body onLoad="one()"> <table>     <tr>         <td>             <select id="year" onchange="one()">             </select>         </td>         <td>             <select id="month" onchange="one()">             </select>         </td>         <td>             <select id="day">             </select>         </td>     </tr> </table> </body>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript