<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'date.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <script type="text/javascript" src="jquery/jquery-1.8.0.js"></script>
    <script type="text/javascript">
        //获取年份
        function getYear(){
            //获取下拉列表
            var year=$("#year");
            //实例化日期对象
            var date=new Date();
            //循环添加
            for(var i=date.getFullYear();i>=1990;i--){
                //$("<option>")就是<option></option>
                //val(i).text(i)就是<option value='+i+'>i</option>
                //最后year.append追加下拉选项
                year.append($("<option>").val(i).text(i));
            }
        }
        
        //获取月份
        function getMonth(){
            //月份下拉列表
            var month=$("#month");
            for(var i=1;i<=12;i++){
                month.append($("<option>").val(i).text(i));
            }
        }
        
        //获取天数
        function getDate(){
            var yearVal=$("#year").val();
            var monthVal=$("#month").val();
            var day=$("#date");
            //清空
            day.empty();
            //设置日期函数,0目的是为了得到当前月份的最大天数
            //如果date设置0的话,得到是上一个月的最后一天,平年和闰年会自动去判断
            //如果date设置为1的话,得到的是这月的第一天
            //原因是monthVal得到的是准确的月份,而通过date获取的月份得到是0-11
            //这样的话,new Date(yearVal, monthVal,0);设置的就是前一个月的最后日期
            var date=new Date(yearVal, monthVal,0);
            for(var i=1;i<=date.getDate();i++){
                day.append($("<option>").val(i).text(i));
            }
        }
        
        //为下拉列表添加值
        function showDate(){
            getYear();
            getMonth();
            getDate();
        }
    </script>
  </head>
 
  <body onload="showDate()">
        年份:<select id="year" onchange="getDate()"></select>
        月份:<select id="month" onchange="getDate()"></select>
        天:<select id="date" onchange="getDate()"></select>
  </body>
</html>

日期,为下拉列表添加日期,优化,目前本人博客上最优的解决方案,之前学习的通过判断得到平年闰年,而这个是让系统自动去判断,无须if判断,代码示例的更多相关文章

  1. wordpress如何利用插件添加优酷土豆等视频到自己的博客上

    wordpress有时候需要添加优酷.土豆等网站的视频到自己的博客上,传统的分享方法不能符合电脑端和手机端屏幕大小的需求,又比较繁琐,怎样利用插件的方法进行添加呢,本视频向你介绍一款这样的插件——Sm ...

  2. 给自己的博客上添加个flash宠物插件

    前言 最近在一些博主的博客上看到一些小宠物的挂件,很有趣,访客到了网站后可以耍耍小宠物,增加网站的趣味性,在功能强大的博客系统上看到有这样的小宠物挂件还是蛮有趣的. 正文 下面就简单介绍下如何在博客园 ...

  3. 本人博客已经搬至SegmentFault.com

    本人博客已经搬至SegmentFault.com 具体链接:http://segmentfault.com/blog/zhoutk

  4. 如何给自己的博客上添加个flash宠物插件

    最近在一些博主的博客上看到一些小宠物的挂件,很有趣,访客到了网站后可以耍耍小宠物,增加网站的趣味性,在功能强大的博客系统上看到有这样的小宠物挂件还是蛮有趣的. 多次差找资料后,终于在http://ww ...

  5. SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码

    在SpringMVC学习系列(6) 之 数据验证中我们已经学习了如何结合Hibernate-validator进行后台的数据合法性验证,但是通常来说后台验证只是第二道保险,为了更好的用户体验会现在前端 ...

  6. 使用代码将github仓库里某个issue同步到CSDN博客上

    我是一个懒惰的程序员.我在github仓库里用issue的方式写了很多分享文章,想同步到CSDN上.但是我又不想一篇篇手动复制粘贴,因此想用代码来实现自动化. 例子: https://github.c ...

  7. 暂存,本人博客有bug,正在全力修复。

    当阳光洒满大地,当清晨的凝露如水滴滋润着世间万物,我就在这里.我在这里静静的看着这一切,这宁静的美好.耳边传来的英文歌曲.手里拿着的带着书香的书,时光倒流仿佛回到了多年前的清晨,那时的我每天读书背英语 ...

  8. 分享用于学习C++图像处理的代码示例

    为了便于学习图像处理并研究图像算法, 俺写了一个适合初学者学习的小小框架. 麻雀虽小五脏俱全. 采用的加解码库:stb_image 官方:http://nothings.org/ stb_image. ...

  9. 使用delphi+intraweb进行微信开发1~4代码示例

    前几讲重点阐述的是使用iw进行微信开发的技术难点及解决方法,提供的都是代码片段(微信消息加解密是完整代码),实际上我始终感觉按照教程实作是掌握一门技术的最重要的方法!不过对于刚刚接触这类开发的朋友来说 ...

随机推荐

  1. 怎么在android的XML文件里加入凝视

    android的XML文件凝视一般採用 <!--凝视内容 -->的方式进行 在XML中,形如    <Button           />      的表示方式,当中&quo ...

  2. oracle HA 高可用性具体解释(之中的一个)

    oracle HA 高可用性具体解释(之二,深入解析TAF,以及HA框架) :http://blog.csdn.net/panfelix/article/details/38436197 一.HA F ...

  3. 华为-on练习--重复的字符过滤

    称号: 请写一个字符串过滤程序,如果使用多个相同的字符出现在字符串中,字符首次出现在非过滤,. 比方字符串"abacacde"过滤结果为"abcde". 演示样 ...

  4. javascript活动

    在javascript倘若有知识的三个方面.事件的第一,流程,其次,事件处理,第三,事件对象.下面就我个人的理解,,分别讲述一下这三个方面的内容. 第一.事件流 事件流指的是事件依照一定的顺序触发.它 ...

  5. php 开发技巧

    以下九种PHP一个非常有用的功能.我不知道你还没有使用?1. 的功能,你可能知道的参数,任意数量PHP我同意你定义一个函数默认参数. 但你可能并不知道PHP还同意你定义一个全然随意的參数的函数以下是一 ...

  6. 通过SMTP协议来发送邮件

    简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 是事实上的在Internet传输email的标准. SMTP是一个相对简单的基于文本的协议.在其之上指定了 ...

  7. 基于C++ 苹果apns消息推送实现(2)

    1.该模块的用途C++ 和 Openssl 代码 它实现了一个简单的apns顾客 2.配套文件:基于boost 的苹果apns消息推送实现(1) 3.最初使用的sslv23/sslv2/sslv3仅仅 ...

  8. C++语言笔记系列之十二——C++的继承

    C++的继承 1.继承方式 public(公有继承) 派生类中的成员能够訪问基类的public成员和protected成员,但不能訪问基类的private成员. 派生类的对象仅仅能訪问基类的publi ...

  9. IplImage 封装释放

    IplImage是openCV库中非常重要的一个结构体,库中的图像都是保存为这个结构体后再进行操作的,详细结构例如以下: </pre><pre> typedef struct ...

  10. HDU 1256 图片8

    图片8 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...