我是Jquery的新手,我正在开发一个酒店应用程序,允许用户选择“签到”和“签出”日期,我正在使用 datepicker 对于这些领域。从逻辑上讲,'退房'日期可以等于或大于'签到'。我已经编写了一个可以检查这种情况的验证但是,我想限制用户在UI上本身,选择仅仅等于或大于'check-out'的日期'check-out'在'日期,通过 禁用日期前的所有日期 '签到'在'退房'的日期选择器中..我浏览了很多,但是没有运气这个标准。
Jquery UI datepicker. Disable array of Dates
我已经提到了上面的内容,但问题是,他们已经定义了一小部分日期,他们已经禁用了这个日期。但是,在我的情况下,我想在“结账”日期选择器中禁用“签到”日期之前的所有日期。
我该怎么做?请有人帮帮我......
提前致谢....
答案 0 :(得分: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>
答案 1 :(得分:2)
<强> 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