|
2009.12.29——jquery年月日三级联动
先看html
<div><select id="year1" > <option value="2008">2008</option> <option value="2009">2009</option> <option value="2010">2010</option> <option value="2011">2011</option> <option value="2012">2012</option> </select>年 <select id="month1" > <option value="01">1</option> <option value="02">2</option> <option value="03">3</option> <option value="04">4</option> <option value="05">5</option> <option value="06">6</option> <option value="07">7</option> <option value="08">8</option> <option value="09">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option></select>月 <select id="day1"> <option value="1">1</option> </select>日 </div><div>年月旬</div><div>年月</div></div>
再看jquery
<script type="text/javascript">$(function(){var $day1 = $("#day1");var $month1 = $("#month1");var $year1 = $("#year1");var str = "";for(var i=1;i<32;i++){str += "<option value="+i+">"+i+"</option>";}$day1.append(str);/*判断闰年*/function fn(year){if((year%4==0&&year%100!=0)||(year%400==0)){return true;}else{return false;}}$month1.change(function(){//月改变//alert($("#month1 option:selected").val());var $yearNum = $("#year1 option:selected").text();var $monthNum = $("#month1 option:selected").text();var str = "";if($monthNum=='1'||$monthNum=='3'||$monthNum=='5'||$monthNum=='7'||$monthNum=='8'||$monthNum=='10'||$monthNum=='12'){for(var i=1;i<32;i++){str += "<option value="+i+">"+i+"</option>";}$day1.append(str);}else if($monthNum=='2'){$day1.empty();//先清空var temp = 29;var yearNum = parseInt($yearNum);if(fn(yearNum)){temp = 30;}for(var i=1;i<temp;i++){str += "<option value="+i+">"+i+"</option>";}$day1.append(str);}else{$day1.empty();for(var i=1;i<31;i++){str += "<option value="+i+">"+i+"</option>";}$day1.append(str);}});$year1.change(function(){//年改变var $yearNum = $("#year1 option:selected").text();var $monthNum = $("#month1 option:selected").text();if($monthNum=='2'){var temp = 29;var yearNum = parseInt($yearNum);if(fn(yearNum)) temp = 30;for(var i=1;i<temp;i++){str += "<option value="+i+">"+i+"</option>";}$day1.append(str);}});})</script> |
|