javascript 年月日聯(lián)動(dòng)實(shí)現(xiàn)核心代碼
更新時(shí)間:2009年12月21日 23:07:36 作者:
年月日的四級(jí)聯(lián)動(dòng)實(shí)現(xiàn)效果的核心代碼,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
var StartYear = 1980;
var EndYear = 2500;
function MonthAndDay()
{
this.initDDL = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay)
{
this.init(objYear,objMonth,objDay,hidYear,hidMonth,hidDay);
this.SelectChange(objYear,objMonth,objDay,hidYear,hidMonth,hidDay);
}
this.init = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay)
{
var year = document.getElementById(objYear);
var month = document.getElementById(objMonth);
var day = document.getElementById(objDay);
var me=this;
if(year.length == 1)
{
year.options[0] = new Option("不限","");
for(var i = StartYear; i < EndYear; i++)
{
year.options[year.length] = new Option(i,i);
}
}
me.yearOptionsChange(document.all[objYear].value,objYear,objMonth,objDay);
me.monthOptionsChange(document.all[objYear].value,document.getElementById(objMonth).value,objDay);
}
this.yearOptionsChange = function(selectValue,objYear,objMonth,objDay)
{
var month = document.getElementById(objMonth);
var day = document.getElementById(objDay);
var me=this;
month.length = 0;
day.length = 0;
month.options[0]=new Option("不限",'');
day.options[0]=new Option("不限",'');
if(selectValue == "")
{
return ;
}
for(var i = 1; i < 13; i++)
{
month.options[month.length] = new Option((i < 10 ? ("0" + i) : i),i);
}
me.monthOptionsChange(document.getElementById(objYear).value,document.getElementById(objMonth).value,objDay);
}
this.monthOptionsChange = function(yearSelectValue,monthSelectValue,objDay)
{
var day = document.getElementById(objDay);
var endDay;
day.length = 0;
day.options[0]=new Option("不限",'');
if(monthSelectValue == "")
{
return;
}
if((parseInt(yearSelectValue) % 400 == 0) || (parseInt(yearSelectValue) % 4 == 0 && parseInt(yearSelectValue) % 100 != 0))
{
if(parseInt(monthSelectValue) == "2")
{
endDay = 29;
}
}
else
{
if(parseInt(monthSelectValue) == "2")
{
endDay = 28;
}
}
switch(parseInt(monthSelectValue))
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
endDay = 31;
break;
case 4:
case 6:
case 9:
case 11:
endDay = 30;
break;
}
for(var i = 1; i <= endDay; i++)
{
day.options[day.length] = new Option((i < 10 ? ("0" + i) : i),i);
}
}
this.SelectChange = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay)
{
var year = document.all[objYear];
var month = document.all[objMonth];
var day = document.all[objDay];
var me = this;
year.onchange = function()
{
me.yearOptionsChange(this.options[this.selectedIndex].value,objYear,objMonth,objDay);
document.all[hidYear].value = this.options[this.selectedIndex].value;
document.all[hidMonth].value = "";
document.all[hidDay].value = "";
}
month.onchange = function()
{
me.monthOptionsChange(document.all[hidYear].value,this.options[this.selectedIndex].value,objDay);
document.all[hidMonth].value = this.options[this.selectedIndex].value;
document.all[hidDay].value = "";
}
day.onchange = function()
{
document.all[hidDay].value = day.selectValue;
}
}
}
您可能感興趣的文章:
- js實(shí)現(xiàn)年月日表單三級(jí)聯(lián)動(dòng)
- js簡(jiǎn)單的年月聯(lián)動(dòng)實(shí)現(xiàn)代碼
- javascript 09年最新版的省市聯(lián)動(dòng)
- 實(shí)現(xiàn)一個(gè)年、月、季度聯(lián)動(dòng)SELECT的javascript代碼
- JS日期和時(shí)間選擇控件升級(jí)版(自寫)
- input 日期選擇功能的javascript代碼
- js選擇日期
- javascript 表單日期選擇效果
- javascript英文日期(有時(shí)間)選擇器
- javascript實(shí)現(xiàn)日期三級(jí)聯(lián)動(dòng)下拉框選擇菜單
相關(guān)文章
js簡(jiǎn)單的年月聯(lián)動(dòng)實(shí)現(xiàn)代碼
js簡(jiǎn)單的年月聯(lián)動(dòng)實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-11-11同一頁(yè)面多個(gè)商品倒計(jì)時(shí)JS 基于面向?qū)ο蟮膉avascript
同一頁(yè)面多個(gè)商品倒計(jì)時(shí)JS 基于面向?qū)ο蟮膉avascript實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-02-02JS date對(duì)象的減法處理實(shí)現(xiàn)代碼
JS date對(duì)象的減法處理實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-12-12js 3秒后跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)代碼
這篇文章主要介紹了js 3秒后跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-03-03JavaScript Timer實(shí)現(xiàn)代碼
最近開始接觸flex,比起javascript,感覺as3的Timer類甚是強(qiáng)大。而javascript只有裸體的setTimeout,setInternval。要實(shí)現(xiàn)稍微復(fù)雜一點(diǎn)的功能,稍微沒有底子的程序員就會(huì)把代碼寫的很亂。2010-02-02Javascript 日期對(duì)象Date擴(kuò)展方法
Date對(duì)象擴(kuò)展,包括常用中文日期格式解析、加減操作、日期差、周操作和季操作。2009-05-05