jquery - Jquery DatePicker 设置最小和最大日期
问题描述
我正在尝试制作一个具有日期选择器的网页,但我无法弄清楚如何动态设置最小和最大日期。我想要实现的是
- 不要让用户选择今天日期之前的日期。
- 选择日期后,将最大可选日期设置为 1 周,因此用户只能从所选日期的 7 天中选择。
到目前为止,我已经做到了这一点,但它似乎并没有在每次用户选择新日期时更新。例如,如果我选择今天的日期 (23),它确实将最大日期设置为 29,但如果我将选择的日期从 23 更改为 27,而不是让我从 27 选择到 3,它只允许我选择27到29。有人可以帮我吗?谢谢 :)
$(document).ready(function() {
$(function() {
$('#txtArrivalDate').datepicker({
dateFormat: 'mm-dd-yy',
minDate: "-0d",
onSelect: function(date) {
selectedDate = date;
$('#txtDepartureDate').datepicker('option', 'minDate', date);
$("#txtDepartureDate").datepicker("refresh");
$('#txtDepartureDate').datepicker('option', 'firstDay', date);
$('#txtDepartureDate').datepicker('option', 'maxDate', '+7d');
}, //end of onSelect attribute
onClose: function(date) {
}, //end of onClose
}); //end of txtArrivalDate datepicker
}); //end of txtArrivalDate function
$("#txtArrivalDate").change(function() {
$('#txtDepartureDate').datepicker('option', 'firstDay', selectedDate);
$('#txtDepartureDate').datepicker('option', 'maxDate', '+7d');
});
$(function() {
$('#txtDepartureDate').datepicker({
dateFormat: 'mm-dd-yy'
});
}) //end of txtDepartureDate function
}); //end of Ready function
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
Arrival Date:-
<input type="text" id="txtArrivalDate" /> <br /><br />
Departure Date:-
<input type="text" id="txtDepartureDate" /> <br /><br />
解决方案
试试这个代码
$(document).ready(function(){
$('#txtArrivalDate').datepicker({
dateFormat: 'mm-dd-yy',
minDate : "-0d",
});
$('#txtArrivalDate').change(function(){
var sDate = $(this).datepicker("getDate");
var minDate = $(this).datepicker("getDate");
sDate.setDate(sDate.getDate()+7);
$('#txtDepartureDate').datepicker({
dateFormat: 'mm-dd-yy',
maxDate : sDate,
minDate : minDate,
});
})
});
祝你好运..
推荐阅读
- function - 使用函数传回返回码记录到控制台和文件
- c# - 如何在我的 .NET 应用安装程序中添加 Microsoft.ACE.OLEDB.12.0?
- laravel - Laravel - 下载 PhpSpreadsheet 而不保存它
- azure-cosmosdb - 有没有办法在 Azure 数据工厂中插入带有嵌套数组的文档?
- haskell - `sum (replicate 5 (max 6.7 8.9))`和`(sum .replicate 5 .max 6.7) 8.9`如何得到相同的结果?
- php - 使用 mysqli 准备好的语句将数据插入数据库中的多个列
- azureservicebus - 是否可以从 U-SQL 脚本向 Azure 服务总线队列或事件中心发送消息?
- java - 创建 Java 模型类
- python - 处理 exec 内部函数以进行符号计算
- javascript - 带有“OR”运算符的三元运算符不起作用?