作业题为什么写出来那么乱,请问老师有优化版的吗

来源:7-7 JS对表单元素进行设置4

慕盖茨8087740

2019-03-21 20:50:47

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Math.random()</title>
    <script>
     var time = new Date;
            var year = time.getFullYear();
    
     function Indate(object,start,end){
      for (var i = start; i <= end; i++) {

         object.options.add(new Option(i,i));
      }
     }
     function Intime(){
      var yyyy = document.getElementById('yyyy');
      var mm = document.getElementById('mm');
      var dd =document.getElementById('dd');
      Indate(yyyy,1990,year);
      Indate(mm,1,12);
      Indate(dd,1,31);

      var n = yyyy.length;
      //默认选择中间数
      yyyy.selectedIndex = Math.round(n/2);
     }
     function mm(){
       var yyyy = document.getElementById('yyyy');
       var mm = document.getElementById('mm');
       var dd =document.getElementById('dd');
      var ddd =parseInt(mm.value);

    if ( ddd == 4 || ddd == 6 || ddd == 9 || ddd == 11) {
          if (dd.options.length>=30) {
            for (var i = 31; i > 30; i--) {
          dd.options.remove(i);
        }
        }else if(dd.options.length<30){
          for (var i = dd.options.length; i < 31 ; i++) {
            dd.options.add(new Option(i,i));
          }
        }
      } 
       else if ( ddd == 2) {
        var year = yyyy.value;
          if ((year % 4 ==0&&year % 100 !=0)|| year % 400 == 0) {
            if (dd.options.length<29) {
                for (var i = 29; i < 29 ; i++) {
            dd.options.add(new Option(i,i));
          }
            }
          for (var i = 31; i >= 29; i--) {
          dd.options.remove(i);
        }
      }else{
           for (var i = 31; i >= 28; i--) {
          dd.options.remove(i);
        }
      }
   
       
      }
   
      else{
        for (var i = dd.options.length; i <= 31 ; i++) {
            dd.options.add(new Option(i,i));
          }
      }
     }
  
    </script>
</head>
<body onload="Intime()">
   <select id="yyyy" name="" onchange="mm()"  ></select>年
   <select id="mm" name="" onchange="mm()"></select>
   <select id="dd"></select>
</body>
</html>


写回答

1回答

好帮手慕阿莹

2019-03-22

同学写的已经很好了呦,这种方法写出来是比老师讲的那种多一点,麻烦一点,如果同学觉得太麻烦,可以选择用老师讲解的方法写呦,会更加简洁。

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

0

0 学习 · 9666 问题

查看课程