我想问一下如何从选定的日期限制mindate/maxdate。
例如,我有两个 datepicker,picker_A 和 picker_B。
我在picker_A中选择了2020/01/29。然后,我需要限制picker_B中的日期范围,只允许在picker_B中选择“2020/01/29”之前/之后的10天。
非常感谢。
我想问一下如何从选定的日期限制mindate/maxdate。
例如,我有两个 datepicker,picker_A 和 picker_B。
我在picker_A中选择了2020/01/29。然后,我需要限制picker_B中的日期范围,只允许在picker_B中选择“2020/01/29”之前/之后的10天。
非常感谢。
此代码使用 jquery datepicker 方法将 datepicker 分配给您的控件。
我使用 minDate 和 maxDate 属性来设置日期范围。
在选定日期前 10 天计算:
var minDate = new Date(maxDate - (10 * 86400000));
1 小时 = 3600 秒 24 小时 = 86400 秒。
但我们需要毫秒。所以:86400 * 1000 = 86400000 毫秒。10 * 86400000 = 10 天
$(function () {
$("#From").datepicker({
format: 'yyyy-mm-dd',
constrainInput: true,
onSelect: function (date) {
var maxDate = new Date(date);
var minDate = new Date(maxDate - (10 * 86400000));
$('#To').datepicker('destroy').datepicker({
format: 'yyyy-mm-dd',
minDate: minDate,
maxDate: maxDate,
onSelect: function (date) {
console.log(date);
}
}).datepicker('setDate', maxDate);
}
}).datepicker('setDate', new Date());
var maxDate = new Date();
var minDate = new Date(maxDate - (10 * 86400000));
$('#To').datepicker({
format: 'yyyy-mm-dd',
minDate: minDate,
maxDate: maxDate,
onSelect: function (date) {
console.log(date);
}
}).datepicker('setDate', maxDate);
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css" rel="stylesheet" type="text/css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.css" rel="stylesheet"
type="text/css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<p>
<input id="From" type="text" />
<input id="To" type="text" />
</p>
</body>
</html>