萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> js實現日期級聯效果

js實現日期級聯效果

 本篇文章主要是對js實現日期級聯效果的實例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

代碼如下:     <div>         <select name="YYYY" onchange="YYYYMM(this.value)">             <option value="">請選擇 年</option>         </select>         <select name="MM" onchange="MMDD(this.value)">             <option value="">選擇 月</option>         </select>         <select name="DD">             <option value="">選擇 日</option>         </select>     </div>       <script language="JavaScript">         function window.onload() {             strYYYY = document.form1.YYYY.outerHTML;             strMM = document.form1.MM.outerHTML;             strDD = 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 - 30); i < (y + 30); i++) //以今年為准,前30年,後30年             {                 str += "<option value='" + i + "'> " + i + " 年" + "</option>rn";             }             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>rn";             }             document.form1.MM.outerHTML = str + "</select>";               document.form1.YYYY.value = y;             document.form1.MM.value = new Date().getMonth() + 1;             var n = MonHead[new Date().getMonth()];             if (new Date().getMonth() == 1 && IsPinYear(YYYYvalue)) n++;             writeDay(n); //賦日期下拉框             document.form1.DD.value = new Date().getDate();         }           function YYYYMM(str) //年發生變化時日期發生變化(主要是判斷閏平年)         {             var MMvalue = 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 = 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>rn";             document.form1.DD.outerHTML = s + "</select>";         }           function IsPinYear(year)//判斷是否閏平年         {             return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0))         }
copyright © 萬盛學電腦網 all rights reserved