年月日三級下拉

來源:互聯網
上載者:User

function mySelectYMD(value,chkyear,chkmonth,chkday){
 strYYYY = document.forms[0].YYYY.outerHTML;
 strMM = document.forms[0].MM.outerHTML;
 strDD = document.forms[0].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-50); i < (y+30); i++) //以今年為準,前50年,後30年
 { 
  str += "<option value='" + i + "'> " + i +  "</option>rn";
 }
 document.forms[0].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>rn";
 }
 document.forms[0].MM.outerHTML = str +"</select>";
 var n = MonHead[new Date().getMonth()];
 if (new Date().getMonth() ==1 && IsPinYear(YYYYvalue)) n++;
 writeDay(n); //賦日期下拉框

 YMDSelected(value,chkyear,chkmonth,chkday);

}

function YMDSelected(value,chkyear,chkmonth,chkday){
 var YYYY=document.forms[0].YYYY;
 var MM=document.forms[0].MM;
 MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
 var year,month,day;
 if(value!=""){
  var times=value.split("-");
  year=times[0];
  month=times[1];
  day=times[2];
 }else if(chkyear!=""||chkmonth!=""||chkday!=""){
   year=chkyear;
   month=chkmonth;
   day=chkday;
 }
 
 for(var i=0;i<YYYY.options.length;i++){
     var option = YYYY.options[i];
     if(option.value==parseInt(year)){
        option.selected=true; 
        break;
     }
 }
 
 for(var i=0;i<MM.options.length;i++){
   var option = MM.options[i];
   if(option.value==parseInt(month)){
        option.selected=true; 
        break;
     }
 }
 var n = MonHead[month-1];
 if ((month-1) ==1 && IsPinYear(year)) n++;
 writeDay(n); //賦日期下拉框
 var DD=document.forms[0].DD;
 for(var i=0;i<DD.options.length;i++){
   var option = DD.options[i];
   if(option.value==parseInt(day)){
        option.selected=true; 
        break;
     }
 }
}
function YYYYMM(str) //年發生變化時日期發生變化(主要是判斷閏平年)
{
 var MMvalue = document.forms[0].MM.options[document.forms[0].MM.selectedIndex].value;
 if (MMvalue == ""){
  document.forms[0].DD.outerHTML = strDD;
  return;
 }
 var n = MonHead[MMvalue - 1];
 if (MMvalue ==2 && IsPinYear(str)) n++;
 writeDay(n);
}
function MMDD(str) //月發生變化時日期聯動
{
 var YYYYvalue = document.forms[0].YYYY.options[document.forms[0].YYYY.selectedIndex].value;
 if (str == ""){
  document.forms[0].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>rn";
 }
 document.forms[0].DD.outerHTML = s +"</select>";
}
function IsPinYear(year)//判斷是否閏平年
{
 return(0 == year%4 && (year%100 !=0 || year%400 == 0))
}

mySelectYMD("$!{group.GmtBrithday.Value}","$!{pp.getString('YYYY')}","$!{pp.getString('MM')}","$!{pp.getString('DD')}");

<input type="hidden" name="$!{group.GmtBrithday.Key}" value="$!{group.GmtBrithday.Value}">
  <select name=YYYY onchange="YYYYMM(this.value)" class=myselect>
   <option value="">請選擇年</option>
  </select>年
  <select name=MM onchange="MMDD(this.value)" class=myselect>
   <option value="">選擇月</option>
  </select>月
  <select name=DD>
   <option value="">選擇日</option class=myselect>
  </select>日

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.