jquery 年月日三级联动
2011-12-26 16:42
232 查看
JS里 面的new Date("xxxx/xx/xx")这个日期的构造方法有一个妙处,
当你传入的是"xxxx/xx/0"(0号)的话,得到的日期是"xx"月的前一个 月的最后一天("xx"月的最大取值是69,题外话),
当你传入的是"xxxx/xx/1"(1号)的话,得到的日期是"xx"月的后一个 月的第一天(自己理解)
如果传入"1999/13/0",会得到"1998/12/31"。而且最大的好处是当你传入"xxxx/3/0",会得到xxxx年2月的最后一天,它会自动判断当年是否是闰年来返回28或29,不用自己判断,
所以,我们想得到选择年选择月有多少天的话,只需要
var temp=new Date("选择年/选择月+1/0");
return temp.getDate()//最大天数
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JQuery实例 - 生成年月日</title>
<meta http-equiv="content-type" content="text/html; charset=gbk">
<script type="text/javascript" src="jquery-1.3.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var $day1 = $("#day1");
var $month1 = $("#month1");
var $year1 = $("#year1");
<!--出始化年-->
var dDate = new Date();
var dCurYear = dDate.getFullYear();
var str="";
for(var i=dCurYear-20;i<dCurYear+1;i++)
{
if(i==dCurYear){
str="<option value="+i+" selected=true>"+i+"</option>";
}else{
str="<option value="+i+">"+i+"</option>";
}
$year1.append(str);
}
<!--出始化月-->
for(var i=1;i<=12;i++){
if(i==(dDate.getMonth()+1))
{
str="<option value="+i+" selected=true>"+i+"</option>";
}else{
str="<option value="+i+">"+i+"</option>";
}
$month1.append(str);
}
<!--调用函数出始化日-->
TUpdateCal($("#year1").val(),$("#month1").val());
});
<!--根据年月获取当月最大天数-->
function TGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function TUpdateCal(iYear, iMonth) {
var dDate=new Date();
daysInMonth = TGetDaysInMonth(iMonth, iYear);
$("#day1").empty();
for (d = 1; d <= parseInt(daysInMonth); d++) {
if(d==dDate.getDate()){
str="<option value="+d+" selected=true>"+d+"</option>";
}else{
str="<option value="+d+">"+d+"</option>";
}
$("#day1").append(str);
}
}
</script>
</head>
<body>
<form name="ymd">
<select id="year1" onchange="TUpdateCal(ymd.year1.value,ymd.month1.value)">
</select>年
<select id="month1" onchange="TUpdateCal(ymd.year1.value,ymd.month1.value)" >
</select>月
<select id="day1">
</select>日
</form>
</body>
</html>
当你传入的是"xxxx/xx/0"(0号)的话,得到的日期是"xx"月的前一个 月的最后一天("xx"月的最大取值是69,题外话),
当你传入的是"xxxx/xx/1"(1号)的话,得到的日期是"xx"月的后一个 月的第一天(自己理解)
如果传入"1999/13/0",会得到"1998/12/31"。而且最大的好处是当你传入"xxxx/3/0",会得到xxxx年2月的最后一天,它会自动判断当年是否是闰年来返回28或29,不用自己判断,
所以,我们想得到选择年选择月有多少天的话,只需要
var temp=new Date("选择年/选择月+1/0");
return temp.getDate()//最大天数
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JQuery实例 - 生成年月日</title>
<meta http-equiv="content-type" content="text/html; charset=gbk">
<script type="text/javascript" src="jquery-1.3.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var $day1 = $("#day1");
var $month1 = $("#month1");
var $year1 = $("#year1");
<!--出始化年-->
var dDate = new Date();
var dCurYear = dDate.getFullYear();
var str="";
for(var i=dCurYear-20;i<dCurYear+1;i++)
{
if(i==dCurYear){
str="<option value="+i+" selected=true>"+i+"</option>";
}else{
str="<option value="+i+">"+i+"</option>";
}
$year1.append(str);
}
<!--出始化月-->
for(var i=1;i<=12;i++){
if(i==(dDate.getMonth()+1))
{
str="<option value="+i+" selected=true>"+i+"</option>";
}else{
str="<option value="+i+">"+i+"</option>";
}
$month1.append(str);
}
<!--调用函数出始化日-->
TUpdateCal($("#year1").val(),$("#month1").val());
});
<!--根据年月获取当月最大天数-->
function TGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function TUpdateCal(iYear, iMonth) {
var dDate=new Date();
daysInMonth = TGetDaysInMonth(iMonth, iYear);
$("#day1").empty();
for (d = 1; d <= parseInt(daysInMonth); d++) {
if(d==dDate.getDate()){
str="<option value="+d+" selected=true>"+d+"</option>";
}else{
str="<option value="+d+">"+d+"</option>";
}
$("#day1").append(str);
}
}
</script>
</head>
<body>
<form name="ymd">
<select id="year1" onchange="TUpdateCal(ymd.year1.value,ymd.month1.value)">
</select>年
<select id="month1" onchange="TUpdateCal(ymd.year1.value,ymd.month1.value)" >
</select>月
<select id="day1">
</select>日
</form>
</body>
</html>
相关文章推荐
- JQuery年月日三级联动(生日)
- 自写日期年月日三级联动效果jquery插件
- jQuery 年月日三级联动
- jQuery实现select三级联动
- 用jquery实现三级联动
- 中国省市区地址三级联动jQuery插件 Distpicker
- JS +XML +Jquery 实现三级联动菜单,自己封装的一个对象方便使用
- jQuery JSON实现无刷新三级联动实例探讨
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动
- JQuery中国省市区无刷新三级联动查询
- jQuery实现三级联动效果
- js实现三级联动-年月日
- 【JQuery】使用JQuery实现城市两级或三级联动(下拉菜单)
- jQuery省市区三级联动插件
- 实现年月日表单三级联动
- jquery省市区三级联动(数据来源国家统计局官网)内附源码下载
- js实现年月日三级下拉菜单联动
- jQuery+php+MySQL一张表实现三级联动菜单
- JQuery实现省市区三级联动
- jquery全国省市县三级联动