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

时间:2015-04-01 04:14:59

标签: javascript jquery datepicker

<!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>

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

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以使用maxDate选项

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

演示:Fiddle

答案 1 :(得分:0)

从DatePicker中选择日期时会触发

onSelect事件。

请尝试以下代码。

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

您可以使用maxDateminDate属性操作日期。