请问运行结果不正确 ,为什么,该如何修改

请问运行结果不正确 ,为什么,该如何修改

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body onload="ymd()">

<form>

<select name="year" id="year" onchange="selectYmd1()"></select>

<select name="month" id="month" onchange="selectYmd1()"></select>

<select name="day" id="day"></select>

</form>


</body>

</html>

<script type="text/javascript">

var date=new Date();

var y=date.getFullYear();

var m=date.getMonth()+1;

var d=date.getDate();

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

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

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

function initSelect(obj,start,end){

for(var i=start;i<=end;i++){

obj.options.add(new Option(i,i));

}

}

function ymd(){

initSelect(year,1990,y);

initSelect(month,1,12);

initSelect(day,1,31);

year.selectedIndex=Math.round(year.length/2);

}

function deleteSelect(obj,m,end){

for (var i = end; i > m; i--) {

obj.options.remove(i);

}

}


function selectYmd1(){

var mm=parseInt(month.value);

var yy=parseInt(year.value);

var ll;

if(mm==4||mm==6||mm==9||mm==11){

ll=30;

}else if(mm==2){

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

ll=29;

}else{

ll=28;

}

}else{

ll=31;

}

deleteSelect(day,ll,31);

}

</script>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2020-05-17 18:27:57

同学你好,如下位置应该重新调用initSelect(),如:

http://img1.sycdn.imooc.com//climg/5ec1113509c2d3be05250378.jpg

另外在html中,onchange都触发selectYmd1()函数,如:

http://img1.sycdn.imooc.com//climg/5ec111610931847307330166.jpg

这里year中应该触发selectYmd(),而不是selectYmd1()

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 言无月 #1
    那写deleteSelect(obj,m,end)这个方法有什么意义。。。 视屏中老师不是说要用这种方式吗
    2020-05-17 18:54:06
  • 好帮手慕阿满 回复 提问者 言无月 #2
    同学你好,老师在https://class.imooc.com/course/qadetail/223875这个问题中回答了你,请前去观看。祝:学习愉快~
    2020-05-17 20:20:00
好帮手慕阿满 2020-05-17 15:28:48

同学你好,问一下同学说的运行结果不正确是指什么呢?建议同学详细描述一下。

祝:学习愉快~

  • 提问者 言无月 #1
    老师好,根据年和月的改变 日期的显示不正确 例如 1、选择了2月之后 日期显示有29天 但是之后再去选择其他年月,不论几年几月每个月只有29天 2、(刷新后尝试,不去选择2月)除了二月外每一个月都有31天
    2020-05-17 15:43:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师