展开全部
给你一个参考:出生日期级联选择框[最新日期是今天][使用PHP date函数初始化:显示今天的日期]
下面在页面上选择就是JS脚本了!
第一段PHP生成的HTML代码:
<div class="user_regi_box2">
<div class="user_regi_one left blue2 font14"> <span class="user_red3">*</span> 出生日期:</div>
<div class="user_regi_two left">
<input type="hidden" value="" name="bday" id="bday">
<select onchange="javascript:changeBdayYear($(this).val(),$('#bday_m'));" errmsg="请选择出生年份!" valid="required" class="user_regi_inpu2" name="bday_y" id="bday_y">
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
</select>
<select onchange="javascript:changeBdayMonth($('#bday_y').val(),$(this).val(),$('#bday_d'));" errmsg="请选择出生月份!" valid="required" class="user_regi_inpu2" name="bday_m" id="bday_m">
<option value="05">05</option>
<option value="4">04</option>
<option value="3">03</option>
<option value="2">02</option>
<option value="1">01</option>
</select>
<select errmsg="请选择出生日期!" valid="required" class="user_regi_inpu2" name="bday_d" id="bday_d">
<option value="22">22</option>
<option value="21">21</option>
<option value="20">20</option>
<option value="19">19</option>
<option value="18">18</option>
<option value="17">17</option>
<option value="16">16</option>
<option value="15">15</option>
<option value="14">14</option>
<option value="13">13</option>
<option value="12">12</option>
<option value="11">11</option>
<option value="10">10</option>
<option value="9">09</option>
<option value="8">08</option>
<option value="7">07</option>
<option value="6">06</option>
<option value="5">05</option>
<option value="4">04</option>
<option value="3">03</option>
<option value="2">02</option>
<option value="1">01</option>
</select>
<span class="txtcolor">请填写正确的出生日期。</span>
</div>
</div>
控制选择的JS: 其中部分函数信赖于JQuery库,例如:find
function changeBdayYear(year,monthObj) //选择年
{
var currentYear = new Date().getYear()+"";
var currentMonth = new Date().getMonth();
var monthHtml = "";
if(year.substr(year.length-2,2)==currentYear.substr(currentYear.length-2,2)) //当天年
{
if(monthObj.find("option").size() != currentMonth )
{
for(i=currentMonth+1;i>0;i--)
{
if(i>=10)
monthHtml += "<option value='"+i+"'>"+i+"</option>";
else
monthHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
monthObj.html(monthHtml);
return changeBdayMonth($("#bday_y").val(),$("#bday_m").val(),$('#bday_d'));
}
}
else
{
if(monthObj.find("option").size() != 12 )
{
for(i=12;i>0;i--)
{
if(i>=10)
monthHtml += "<option value='"+i+"'>"+i+"</option>";
else
monthHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
monthObj.html(monthHtml);
return changeBdayMonth($("#bday_y").val(),$("#bday_m").val(),$('#bday_d'));
}
}
}
function changeBdayMonth(year,month,dayObj) //选择月
{
var currentYear = new Date().getYear()+"";
var currentMonth = new Date().getMonth()+1;
var currentDay = new Date().getDate();
var dayHtml = "";
if(year.substr(year.length-2,2)==currentYear.substr(currentYear.length-2,2) && currentMonth == month )
{
if(dayObj.find("option").size() != currentDay )
{
for(i=currentDay;i>0;i--)
{
if(i>=10)
dayHtml += "<option value='"+i+"'>"+i+"</option>";
else
dayHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
return dayObj.html(dayHtml);
}
}
else
{
var days = getDays(year,month);
if(dayObj.find("option").size() != days )
{
for(i=days;i>0;i--)
{
if(i>=10)
dayHtml += "<option value='"+i+"'>"+i+"</option>";
else
dayHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
return dayObj.html(dayHtml);
}
}
}
function getDays(year,month) //月相关天数计算
{
if(month == 2)
{
if(year % 400 == 0)
return 28;
if(year % 100 != 0 && year % 4 == 0)
return 28;
return 29;
}
else
{
if(month == 4 || month == 6 || month == 9 || month == 11)
return 30;
else
return 31;
}
}
下面在页面上选择就是JS脚本了!
第一段PHP生成的HTML代码:
<div class="user_regi_box2">
<div class="user_regi_one left blue2 font14"> <span class="user_red3">*</span> 出生日期:</div>
<div class="user_regi_two left">
<input type="hidden" value="" name="bday" id="bday">
<select onchange="javascript:changeBdayYear($(this).val(),$('#bday_m'));" errmsg="请选择出生年份!" valid="required" class="user_regi_inpu2" name="bday_y" id="bday_y">
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
</select>
<select onchange="javascript:changeBdayMonth($('#bday_y').val(),$(this).val(),$('#bday_d'));" errmsg="请选择出生月份!" valid="required" class="user_regi_inpu2" name="bday_m" id="bday_m">
<option value="05">05</option>
<option value="4">04</option>
<option value="3">03</option>
<option value="2">02</option>
<option value="1">01</option>
</select>
<select errmsg="请选择出生日期!" valid="required" class="user_regi_inpu2" name="bday_d" id="bday_d">
<option value="22">22</option>
<option value="21">21</option>
<option value="20">20</option>
<option value="19">19</option>
<option value="18">18</option>
<option value="17">17</option>
<option value="16">16</option>
<option value="15">15</option>
<option value="14">14</option>
<option value="13">13</option>
<option value="12">12</option>
<option value="11">11</option>
<option value="10">10</option>
<option value="9">09</option>
<option value="8">08</option>
<option value="7">07</option>
<option value="6">06</option>
<option value="5">05</option>
<option value="4">04</option>
<option value="3">03</option>
<option value="2">02</option>
<option value="1">01</option>
</select>
<span class="txtcolor">请填写正确的出生日期。</span>
</div>
</div>
控制选择的JS: 其中部分函数信赖于JQuery库,例如:find
function changeBdayYear(year,monthObj) //选择年
{
var currentYear = new Date().getYear()+"";
var currentMonth = new Date().getMonth();
var monthHtml = "";
if(year.substr(year.length-2,2)==currentYear.substr(currentYear.length-2,2)) //当天年
{
if(monthObj.find("option").size() != currentMonth )
{
for(i=currentMonth+1;i>0;i--)
{
if(i>=10)
monthHtml += "<option value='"+i+"'>"+i+"</option>";
else
monthHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
monthObj.html(monthHtml);
return changeBdayMonth($("#bday_y").val(),$("#bday_m").val(),$('#bday_d'));
}
}
else
{
if(monthObj.find("option").size() != 12 )
{
for(i=12;i>0;i--)
{
if(i>=10)
monthHtml += "<option value='"+i+"'>"+i+"</option>";
else
monthHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
monthObj.html(monthHtml);
return changeBdayMonth($("#bday_y").val(),$("#bday_m").val(),$('#bday_d'));
}
}
}
function changeBdayMonth(year,month,dayObj) //选择月
{
var currentYear = new Date().getYear()+"";
var currentMonth = new Date().getMonth()+1;
var currentDay = new Date().getDate();
var dayHtml = "";
if(year.substr(year.length-2,2)==currentYear.substr(currentYear.length-2,2) && currentMonth == month )
{
if(dayObj.find("option").size() != currentDay )
{
for(i=currentDay;i>0;i--)
{
if(i>=10)
dayHtml += "<option value='"+i+"'>"+i+"</option>";
else
dayHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
return dayObj.html(dayHtml);
}
}
else
{
var days = getDays(year,month);
if(dayObj.find("option").size() != days )
{
for(i=days;i>0;i--)
{
if(i>=10)
dayHtml += "<option value='"+i+"'>"+i+"</option>";
else
dayHtml += "<option value='0"+i+"'>0"+i+"</option>";
}
return dayObj.html(dayHtml);
}
}
}
function getDays(year,month) //月相关天数计算
{
if(month == 2)
{
if(year % 400 == 0)
return 28;
if(year % 100 != 0 && year % 4 == 0)
return 28;
return 29;
}
else
{
if(month == 4 || month == 6 || month == 9 || month == 11)
return 30;
else
return 31;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询