前端:當前日期做爲最小值的下拉框

 

HTML代碼:php

<td>出發日期</td>
//一看就知道是用了tp框架的
<td align="left">
    <php>$monNow =date(n);</php>
    <select class="month" name="date-month">
        <for start="$monNow" end="13">
            <option value="{$i}">{$i}</option>
        </for>
    </select>
    <label>月 </label>
    <select class="item-day"  name="date-day"></select>
    <label>日</label>
</td>

javaScript/jQuery:html

//獲取指定年月的月份最大日子數
function getDayMax(year, month){
    if(month == 4 || month == 6 || month == 9 || month == 11)
        dayMax=30;
    else if( month == 2){
        if(year %4 == 0 && year %100 != 0)
            dayMax=29;
        else
            dayMax=28;
    }
    else
        dayMax=31;
    return dayMax;
}

function funcStartDate(){
    var date =new Date();
    var nowDay =date.getDate();
    var month =$(".month").val();
    var nowMon =parseInt(date.getMonth()) +1;
    var nowYear =date.getFullYear();
    var year =month <nowMon ?parseInt(nowYear) +1 :nowYear;
    var max =getDayMax(year, month);
    var str ="", tip;
    var start =month ==nowMon ?nowDay :1;
    for(var i =start; i <max +1; i++) {
        tip =i <10 ?"0" :"";
        str +="<option value='" +i +"'>" +tip +i +"</option>";
    }
    $(".item-day").html(str);
}

$(window).load(function(){
    funcStartDate();
});
//點擊月份下拉框的時候,更新日的下拉框
$(".month").click(function(){
    funcStartDate();
});

注意:不要讓日子的下拉框來觸發更新日子的事件,否則會改變不了日子下拉框的值,想一想就明白的java

相關文章
相關標籤/搜索