jQuery 日期选择器 - 从第一个日期选择器中选择后禁用日期

jQuery date picker - Disable dates after the selection from the first date picker

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>jQuery UI Datepicker - Default functionality</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css">

    <script>
        $(function () {
            $("#datepicker1").datepicker();
        });
    </script>

    <script>
        $(function () {
            $("#datepicker2").datepicker();
        });
    </script>
</head>
<body>
    <p>Date 1: <input type="text" id="datepicker1"></p>
    <p>Date 2: <input type="text" id="datepicker2"></p>
</body>
</html>

我的代码中有两个日期选择器。我想要的是在 select 来自第一个日期选择器的日期时禁用日期。假设我 select 从第一个日期选择器中像 15/01/2015 约会。现在,在第二个日期选择器中,15/01/2015 之后的所有日期都将被禁用。但是 15/01/2015 之前的日期将在第二个日期选择器中启用。

我该怎么做?

您可以使用 maxDate 选项

$(function () {
    $("#datepicker1").datepicker().change(function () {
        $("#datepicker2").datepicker('option', 'maxDate', $(this).datepicker('getDate'));
    });
    $("#datepicker2").datepicker();
});

演示:Fiddle

onSelect 当您 select 来自 DatePicker 的日期时触发事件。

试试下面的代码。

$(function () {
    $("#datepicker1").datepicker({
        onSelect: function (date) {
            $("#datepicker2").datepicker({
                'maxDate': date
                //'minDate' : date
            });
        }
    });
});

您可以使用 maxDate and minDate 属性操纵日期。