在链接Datepicker中设置最大日期

时间:2012-09-24 16:54:10

标签: jquery datepicker chain maxdate

我使用“从日期”和“到日期”制作范围日期选择器。

这里代码:

From <input type="text" id="from" name="from" style="width: 80px" readonly>
To <input type="text" id="to" name="to" style="width: 80px" readonly>

<script>
$(function() {
    $( "#from" ).datepicker({
        showOn: "button",
        buttonImage: "images/calendar.png",
        buttonImageOnly: true,
        minDate: 0,
        changeMonth: true,
        beforeShowDay: $.datepicker.noWeekends,
        onSelect: function( selectedDate ) {
            $( "#to" ).datepicker( "option", "minDate", selectedDate );
        }
    });
    $( "#to" ).datepicker({
        showOn: "button",
        buttonImage: "images/calendar.png",
        buttonImageOnly: true,
        changeMonth: true,
        beforeShowDay: $.datepicker.noWeekends,
        onSelect: function( selectedDate ) {
            $( "#from" ).datepicker( "option", "maxDate", selectedDate );
        }
    });
});
</script>

我想要做的是:当用户在#from选择特定日期时,我想要设置#to的最长日期,比如#from中的日期,即10天。

我该怎么做? 感谢。

1 个答案:

答案 0 :(得分:4)

试试 jsFiddle example

<强>的jQuery

$('#endDate').datepicker({
    onSelect: function() {},
    onClose: function() {
        $(this).focus();
    }
});
$('#startDate').datepicker({
    onSelect: function(dateText, inst) {
        var nyd = new Date(dateText);
        nyd.setDate(nyd.getDate() + 10);
        $('#endDate').datepicker("option", {
            minDate: new Date(dateText),
            maxDate: nyd
        });
    },
    onClose: function() {
        $(this).focus();
    }
});​

当您选择开始日期的日期时,您可以设置结束日期的maxDate选项加上10天。