我使用以下功能,但希望从我的日期选择器中排除最后20天
所以用户可以: -
选择明年的任何未来日期
可以选择超过20-365天前的任何日期
但可能不会选择今天和20天之前的日期。
我不确定如何排除过去20天,感谢任何帮助。
$(function () {
$("#datepicker").datepicker({
dateFormat: "dd/mm/yy",
maxDate: '365',
minDate: '-365'
});
});
答案 0 :(得分:0)
日期选择器的beforeShowDay
方法允许您运行函数,如果您不希望选择日期,则返回false。
请参阅此处的API文档:http://api.jqueryui.com/datepicker/#option-beforeShowDay
$(function () {
$("#datepicker").datepicker({
dateFormat: "dd/mm/yy",
maxDate: '365',
minDate: '-365',
beforeShowDay: function(date){
//Get current timestamp
var current = new Date().getTime();
//Get timestamp for 20 days ago
var timestamp = current - (20 * 24 * 60 * 60 * 1000);
return [!(date.getTime() > timestamp && date.getTime() < current)];
}
});
});
因此,上述代码应允许用户在365天前和365天之间选择日期,不包括前20天。
JsFiddle:https://jsfiddle.net/aka1s8p0/
答案 1 :(得分:0)
您可以执行这样的简单解决方案,并且可以为.datepicker添加更多属性
$(function () {
var someDate = new Date();
var dd = someDate.getDate() + 20;
var mm = someDate.getMonth() + 1;
var y = someDate.getFullYear();
var someFormattedDate = y + ',' + mm + '/' + dd;
$("#datepicker").datepicker({
inline: true,
minDate: new Date(someFormattedDate)
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<p>Date: <input type="text" id="datepicker"></p>
&#13;