0

我是 Jquery 的新手,我正在开发一个酒店应用程序,允许用户选择“入住”和“退房”日期,并且我正在为这些字段使用日期选择器。从逻辑上讲,“退房”日期可以等于或大于“入住”日期。我已经编写了一个可以检查此条件的验证,但是我想限制用户在 UI本身上,通过禁用所有来选择仅等于或大于“签入”日期的“签出”日期在“签出”日期选择器中“签入”之前的日期。我浏览了很多,但这个标准没有运气。

Jquery UI 日期选择器。禁用日期数组

我已经提到了上面的内容,但问题是,他们已经定义了一小部分日期,他们已经禁用了选择。但是,就我而言,我想禁用“退房”日期选择器中“入住”日期之前的所有日期。

我怎样才能做到这一点?有人能帮助我吗......

提前致谢....

4

2 回答 2

2

将您选择的日期设置为像

$( ".selector" ).datepicker({ minDate: 'selected-date' });

它将禁用最小日期之前的所有日期。

例如:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>datepicker demo</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>
<div id="check-in"></div>
<div id="check-out"></div>
<script>
    $( "#check-out" ).datepicker({
    minDate: new Date()
});

$( "#check-in" ).datepicker({
    minDate: new Date(),
    onSelect: function(dateText, inst) {
        var selectedDate = $( this ).datepicker( "getDate" );
        $( "#check-out" ).datepicker( "option", "minDate", selectedDate );
    }
});
</script>
</body>
</html>
于 2013-10-17T05:41:24.723 回答
2

使用 DEMO读取日期范围

js

$(function () {
    $("#from").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 3,
        onClose: function (selectedDate) {
            $("#to").datepicker("option", "minDate", selectedDate);
        }
    });
    $("#to").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 3,
        onClose: function (selectedDate) {
            $("#from").datepicker("option", "maxDate", selectedDate);
        }
    });
});

HTML

<label for="from">From</label>
<input type="text" id="from" name="from" />
<label for="to">to</label>
<input type="text" id="to" name="to" />

另请阅读

http://api.jqueryui.com/datepicker/#option-minDate

http://api.jqueryui.com/datepicker/#option-maxDate

http://api.jqueryui.com/datepicker/#option-onClose

于 2013-10-17T05:41:53.277 回答