<script typet="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1">
<div>
<select name=YYYY id="YYYY" onchange="YYYYMM(this.value)">
<option value="">选择 年</option>
</select>
<select name=MM id="MM" onchange="MMDD(this.value)">
<option value="">选择 月</option>
</select>
<select name=DD id="DD">
<option value="">选择 日</option>
</select>
</div>
<input id="hfValue" />
<button id="btnSave" text="保存" onclick="btnSave_Click()"></button>
</form>
</body>
</html>
<script language="JavaScript">
function getValue() {
var year = document.getElementById("YYYY").options[document.getElementById("YYYY").selectedIndex].value;
var month = document.getElementById("MM").options[document.getElementById("MM").selectedIndex].value;
var day = document.getElementById("DD").options[document.getElementById("DD").selectedIndex].value;
document.getElementById("hfValue").value = year + "-" + month + "-" + day;
} window.onload = function () {
strYYYY = $('#YYYY').prop('outerHTML');// document.form1.YYYY.outerHTML;
strMM = $('#MM').prop('outerHTML');//document.form1.MM.outerHTML;
strDD = $('#DD').prop('outerHTML');//document.form1.DD.outerHTML;
MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
//先给年下拉框赋内容
var y = new Date().getFullYear();
var str = strYYYY.substring(0, strYYYY.length - 9); for (var i = (y - 80) ; i < (y + 2) ; i++) //以今年为准,前30年,后30年
{
str += "<option value='" + i + "'> " + i + " 年" + "</option>\r\n";
}
$('#YYYY').prop('outerHTML', str + "</select>") //document.form1.YYYY.outerHTML = str + "</select>";
//赋月份的下拉框
var str = strMM.substring(0, strMM.length - 9);
for (var i = 1; i < 13; i++) {
str += "<option value='" + i + "'> " + i + " 月" + "</option>\r\n";
}
$('#MM').prop('outerHTML', str + '</select>') // document.form1.MM.outerHTML = str + "";
$('#MM').val(y);
$('#MM').val(new Date().getMonth() + 1); //document.form1.MM.value = new Date().getMonth() + 1;
var n = MonHead[new Date().getMonth()];
if (new Date().getMonth() == 1 && IsPinYear(YYYYvalue)) n++;
writeDay(n); //赋日期下拉框
$('#DD').val(new Date().getDate());// document.form1.DD.value = new Date().getDate();
}
function YYYYMM(str) //年发生变化时日期发生变化(主要是判断闰平年)
{
var MMvalue = $("#MM").val();//document.form1.MM.options[document.form1.MM.selectedIndex].value;
if (MMvalue == "") {
DD.outerHTML = strDD;
return;
}
var n = MonHead[MMvalue - 1];
if (MMvalue == 2 && IsPinYear(str)) n++;
writeDay(n)
}
function MMDD(str) //月发生变化时日期联动
{
var YYYYvalue = $("#YYYY").val();// document.form1.YYYY.options[document.form1.YYYY.selectedIndex].value;
if (str == "") {
DD.outerHTML = strDD;
return;
}
var n = MonHead[str - 1];
if (str == 2 && IsPinYear(YYYYvalue)) n++;
writeDay(n)
}
function writeDay(n) //据条件写日期的下拉框
{
var s = strDD.substring(0, strDD.length - 9);
for (var i = 1; i < (n + 1) ; i++) s += "<option value='" + i + "'> " + i + " 日" + "</option>\r\n";
$('#DD').prop('outerHTML', s + "</select>"); //document.form1.DD.outerHTML = s + "</select>"; }
function IsPinYear(year) //判断是否闰平年
{
return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0))
} </script>

年月日 生日 js插件的更多相关文章

  1. js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable

    js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable 一.总结 一句话总结:bootstrap能够做为最火的框架,绝对不仅仅只有我看到的位置,它应该还有很多位置可 ...

  2. 【jQuery小实例】js 插件 查看图片

    ---本系列文章所用使用js均可在本博客文件中找到. 像淘宝一样,鼠标放在某一件商品上,展示大图信息,甚至查看图片的具体部位.给人超炫的效果,这种效果实现基于js文件和js插件.大致可以分为三步,添加 ...

  3. 【PC端】jQuery+PHP实现浏览更多内容(jquery.more.js插件)

    参数说明: 'amount' : '10', //每次显示记录数 'address' : 'comments.php', //请求后台的地址 'format' : 'json', //数据传输格式 ' ...

  4. chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]

    chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法,原文:http://bubuko.com/infodetail-328671.html 默认情况下如下图 Y轴并不是从0开始 ...

  5. jQuery.cookie.js插件了解及使用方法

    jquery.cookie.js插件实现浏览器的cookie存储,该插件是基于jquery开发,方便cookie使用. jquerycookie.js的下载地址 http://plugins.jque ...

  6. Intense Images – 全屏浏览图像的 JS 插件

    Intense Images 是一个独立的 JavaScript 库,用于查看全屏图像.使用触摸/鼠标来实现图片位置的平移.图像元素的所有样式都是可以自定义的,Intense.js 只处理图像浏览器和 ...

  7. 购物车增加、减少商品时动画效果:jQuery.Fly.js插件使用方法

    某些电商网站加入购物车和减少购物车商品数量时,有个小动画,以抛物线形式增减,如图:      这里用到了第三方jQuery.Fly.js插件(底层依赖Jquery库,地址:https://github ...

  8. 代码规范和常用的js插件以及测试工具

    1.代码规范 .model层 1.1.1database file_proerty 1.1.2java fileProperty. 1.2.字段要有空指针 1.3.不创建爱数据库外键约束 1.4.已知 ...

  9. jquery.autocomplete.js 插件的自定义搜索规则

    这二天开始用jquery.autocomplete这个自动完成插件.功能基本比较强大,但自己在实际需求中发现还是有一处不足!问题是这样:当我定义了一个本地数据JS文件时,格式为JSON式的数组.如下: ...

随机推荐

  1. win8下始终以管理员身份运行vs2012的解决办法

    因为我的windows8不是专业版的,不能通过网上方法修改组策略,所以尝试了下面的方法: 1. 在vs2012快捷方式上,右键选择兼容性疑难解答: 2. 等待检测完,选择故障排除选项页面,选“疑难解答 ...

  2. 4.struts2中的文件上传,下载

    Struts2中文件的上传下载,是借用commons里面的包实现文件的上传,需要导入两个jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar 实现 ...

  3. Linux crontab定时执行任务

    1.设置定时任务的命令是crontab -e首次使用crontab的时候会让你选择编辑工具,看个人喜好了.选择一个即可.如果以后想换默认编辑工具,可以按照下面的提示运行命令"select-e ...

  4. CentOS6.3连接Xshell出现的问题(连接失败--需要设置ONBOOT=“yes”,开启网卡驱动)

    小白记录: 安装Xshell之后连接CentOS6.3的baseService版本,连接不上, service network restart  只有两个OK, 百度查找资料后--得到结论:网卡设置之 ...

  5. 查看已安装的CentOS版本信息:

    如何查看已安装的CentOS版本信息: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@ ...

  6. jquery版本清单

    PM> Install-Package jQuery -Version 1.11.2 jQuery 2.1.3 (latest stable) 315444 Wednesday, Decembe ...

  7. java io流之BufferReader&BufferedWriter

    BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,而且提供了很实用的readLine,读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高 ...

  8. HDU 2295 Radar (重复覆盖)

    Radar Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. laravel(一):如何安装laravel

    1.前提条件 本文针对想从零开始开发 Laravel 程序的初学者,不需要预先具备任何的 Laravel 使用经验.不过,为了能顺利阅读,还是需要事先安装好一些软件: PHP 5.4 及以上版本 包管 ...

  10. 自定义TextField清除按钮

    当需要设置TextField的清除按钮的时候,系统的总是不满足需求,这就需要我们自定义了,代码如下: // // TextFieldDemoViewController.m // OCDemo // ...