禁用日期选择器过去的日期和时间
Posted
技术标签:
【中文标题】禁用日期选择器过去的日期和时间【英文标题】:Disable datepicker past date & time 【发布时间】:2015-11-01 21:35:57 【问题描述】:我正在使用 datepicker,我喜欢人们无法选择今天之前的日期和时间。我使用“minDate:0”来禁用过去的日期,但有没有办法禁用过去的时间。例如,如果当前时间是凌晨 5 点,我不希望人们选择同一天的凌晨 3 点或 4 点。
这是我的代码:
var dt;
dt =
$('#datetimepicker3').datetimepicker(
inline:true,
minDate: 0,
format:'m/d/Y H:i',
formatDate:'d/m/Y'
);
【问题讨论】:
查看此链接:***.com/questions/8356358/… 您好先生您得到答案了吗 【参考方案1】:声明dateToday
变量并使用Date()
函数设置它。
然后使用该变量分配给minDate
,这是datepicker
的参数。
var dateToday = new Date();
$(function()
$( "#datetimepicker3" ).datepicker(
numberOfMonths: 3,
showButtonPanel: true,
minDate: dateToday
);
);
【讨论】:
嗨 madhu,基本上minDate: 0
已经禁用了过去的日期。但它不会禁用过去的时间。例如,如果当前时间是凌晨 5 点,我什至喜欢禁用同一天的凌晨 4 点。 :)
是的,它正确禁用了日期。如何禁用过去的时间?【参考方案2】:
要禁用过去的日期,您需要像这样定义最小到今天的日期:-
$('.datepicker').pickadate(
min: new Date()
);
【讨论】:
【参考方案3】:您应该像这样将minDate
值声明为dateToday
var dt;
dt =
$('#datetimepicker3').datetimepicker(
inline:true,
minDate: dateToday,
format:'m/d/Y H:i',
formatDate:'d/m/Y'
);
【讨论】:
禁用过去 TIME。请保持相关性。【参考方案4】:要禁用过去的时间,您应该使用minDateTime
。
像这样更新你的代码,
var dt = new Date();
$('#datetimepicker3').datetimepicker(
inline:true,
minDate: 0,
minDateTime: dt,
format:'m/d/Y H:i',
formatDate:'d/m/Y'
);
【讨论】:
【参考方案5】:应该是这样的:
$(function ()
$('#datetimepicker3').datetimepicker(
minDate: moment()
);
);
【讨论】:
【参考方案6】:Source
我在使用 DateTimePicker jQuery 插件禁用过去日期时间时遇到了同样的问题。但我找到了解决方案-
var checkPastTime = function(currentDateTime)
var d = new Date();
var todayDate = d.getDate();
// 'this' is jquery object datetimepicker
if (currentDateTime.getDate() == todayDate) // check today date
this.setOptions(
minTime: d.getHours() + ':00' //here pass current time hour
);
else
this.setOptions(
minTime: false
);
;
$('#datetimepicker7').datetimepicker(
format:'Y-m-d H:i',
minDate : 0,
onChangeDateTime:checkPastTime,
onShow:checkPastTime
);
demo
【讨论】:
以上是关于禁用日期选择器过去的日期和时间的主要内容,如果未能解决你的问题,请参考以下文章