JQuery DatePicker-排除日期的动态范围
我正在使用以下函数,但希望从日期选择器中排除最后20天 因此,用户可以:- 选择下一年的任何未来日期 可以选择20-365天前的任何日期 但不能选择介于今天和20天前之间的日期 我不知道如何排除过去的20天,任何帮助感谢JQuery DatePicker-排除日期的动态范围,jquery,datepicker,Jquery,Datepicker,我正在使用以下函数,但希望从日期选择器中排除最后20天 因此,用户可以:- 选择下一年的任何未来日期 可以选择20-365天前的任何日期 但不能选择介于今天和20天前之间的日期 我不知道如何排除过去的20天,任何帮助感谢 $(function () { $("#datepicker").datepicker({ dateFormat: "dd/mm/yy", maxDate: '365', minDate: '-365' }); }); da
$(function () {
$("#datepicker").datepicker({
dateFormat: "dd/mm/yy",
maxDate: '365',
minDate: '-365'
});
});
datepicker的
beforeShowDay
方法允许您运行函数,如果不希望选择日期,则返回false
请参见此处的API文档:
$(函数(){
$(“#日期选择器”)。日期选择器({
日期格式:“日/月/年”,
maxDate:'365',
minDate:“-365”,
beforeShowDay:功能(日期){
//获取当前时间戳
var current=new Date().getTime();
//获取20天前的时间戳
var时间戳=当前-(20*24*60*60*1000);
return[!(date.getTime()>时间戳和date.getTime()
因此,上面的代码应该允许用户选择365天前和365天前之间的日期,不包括前20天
jsidle:日期选择器的
beforeShowDay
方法允许您运行函数,如果不希望选择日期,则返回false
请参见此处的API文档:
$(函数(){
$(“#日期选择器”)。日期选择器({
日期格式:“日/月/年”,
maxDate:'365',
minDate:“-365”,
beforeShowDay:功能(日期){
//获取当前时间戳
var current=new Date().getTime();
//获取20天前的时间戳
var时间戳=当前-(20*24*60*60*1000);
return[!(date.getTime()>时间戳和date.getTime()
因此,上面的代码应该允许用户选择365天前和365天前之间的日期,不包括前20天
jsiddle:您可以做这样一个简单的解决方案,并且您可以向.datepicker添加更多属性
$(函数(){
var someDate=新日期();
var dd=someDate.getDate()+20;
var mm=someDate.getMonth()+1;
var y=someDate.getFullYear();
var someFormattedDate=y+','+mm+'/'+dd;
$(“#日期选择器”)。日期选择器({
是的,
minDate:新日期(someFormattedDate)
});
});代码>
日期:
您可以这样做一个简单的解决方案,并且您可以向.datepicker添加更多属性
$(函数(){
var someDate=新日期();
var dd=someDate.getDate()+20;
var mm=someDate.getMonth()+1;
var y=someDate.getFullYear();
var someFormattedDate=y+','+mm+'/'+dd;
$(“#日期选择器”)。日期选择器({
是的,
minDate:新日期(someFormattedDate)
});
});代码>
日期:
这不允许选择20天以上的日期?这不允许选择20天以上的日期?很抱歉,我的代码中有一个小错误,现在应该可以工作了。很高兴能提供帮助!如果你对答案感到满意,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,您已经找到了解决方案,并为我们双方提供了一些代表。我们没有义务这样做。:)很抱歉,我的代码中有一个小错误,现在应该可以工作了。很高兴能提供帮助!如果你对答案感到满意,请考虑通过点击复选标记来接受它。这向更广泛的社区表明,您已经找到了解决方案,并为我们双方提供了一些代表。我们没有义务这样做。:)
$(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)];
}
});
});