Javascript DateTimePicker-禁用一天中已经过的时间(JQuery)
我目前正在将XDSoft DateTimePicker()JQuery集成到我的网站中,并希望禁用已过的时间。目前,如果我选择今天,那么我仍然可以选择一个已经过去的时间 我尝试使用minTime:0,但这也会禁用sunsequence天的时间。我希望能够选择一个开始和结束时间(例如,上午9点到下午5点30分),我可以使用mintime和max time进行选择,但我无法禁用今天已经过的时间 以下是我的脚本:Javascript DateTimePicker-禁用一天中已经过的时间(JQuery),javascript,jquery,datetime,datetimepicker,Javascript,Jquery,Datetime,Datetimepicker,我目前正在将XDSoft DateTimePicker()JQuery集成到我的网站中,并希望禁用已过的时间。目前,如果我选择今天,那么我仍然可以选择一个已经过去的时间 我尝试使用minTime:0,但这也会禁用sunsequence天的时间。我希望能够选择一个开始和结束时间(例如,上午9点到下午5点30分),我可以使用mintime和max time进行选择,但我无法禁用今天已经过的时间 以下是我的脚本: <script> jQuery('#datetimepicker3'
<script>
jQuery('#datetimepicker3').datetimepicker({
minDate: 0,
step: 60,
minTime: '09:00',
maxTime: '17:30',
todayButton: true,
format: 'd.m.Y H:i',
inline: true,
lang: 'en'
});</script>
jQuery(“#datetimepicker3”).datetimepicker({
minDate:0,
步骤:60,
minTime:'09:00',
maxTime:'17:30',
今天巴顿:是的,
格式:“d.m.Y H:i”,
是的,
朗:“恩”
});
是将minTime设置为0也将禁用随后几天的时间。您需要根据日期更改minTime选项。如果是今天,minTime将保持不变,否则minTime将设置为false
$(“#元素”).datetimepicker({格式:'Y-m-DH:i',minDate:0,minTime:0,onSelectDate:function(ct){
var dtob=新日期(),
当前日期=dtob.getDate(),
当前月份=dtob.getMonth()+1,
当前_year=dtob.getFullYear();
//今天的日期
var完整日期=当前年份+'-'+
(本月<10?'0'+本月:本月)+'-'+
(当前日期<10?'0'+当前日期:当前日期);
//将今天的日期与选择的日期进行比较
如果(ct.dateFormat('Y-m-d')==完整日期)
this.setOptions({minTime:0});
其他的
this.setOptions({minTime:false});
}
});
如果有人被绊倒,试试这个
$( function() {
var checkPastTime = function(inputDateTime) {
if (typeof(inputDateTime) != "undefined" && inputDateTime !== null) {
var current = new Date();
if (inputDateTime.getFullYear() < current.getFullYear()) {
$('.datetimepicker').datetimepicker('reset');
alert("Sorry! Past date time not allow.");
} else if ((inputDateTime.getFullYear() == current.getFullYear()) && (inputDateTime.getMonth() < current.getMonth())) {
$('.datetimepicker').datetimepicker('reset');
alert("Sorry! Past date time not allow.");
}
if (inputDateTime.getDate() == current.getDate()) {
if (inputDateTime.getHours() < current.getHours()) {
$('.datetimepicker').datetimepicker('reset');
}
this.setOptions({
minTime: current.getHours() + ':00' //here pass current time hour
});
} else {
this.setOptions({
minTime: false
});
}
}
};
var currentYear = new Date();
$('.datetimepicker').datetimepicker({
format:'Y-m-d H:i',
minDate : 0,
yearStart : currentYear.getFullYear(), // Start value for current Year selector
onChangeDateTime:checkPastTime,
onShow:checkPastTime
});
$(函数(){
var checkPastTime=函数(inputDateTime){
if(typeof(inputDateTime)!=“未定义”&&inputDateTime!==null){
var current=新日期();
如果(inputDateTime.getFullYear()
}))
学分:
您可以对插件提供的
onShow()
事件处理程序应用限制。这容易实现吗?这取决于具体情况。您肯定需要一些脚本。请尝试:不确定是否可以使用此插件
$( function() {
var checkPastTime = function(inputDateTime) {
if (typeof(inputDateTime) != "undefined" && inputDateTime !== null) {
var current = new Date();
if (inputDateTime.getFullYear() < current.getFullYear()) {
$('.datetimepicker').datetimepicker('reset');
alert("Sorry! Past date time not allow.");
} else if ((inputDateTime.getFullYear() == current.getFullYear()) && (inputDateTime.getMonth() < current.getMonth())) {
$('.datetimepicker').datetimepicker('reset');
alert("Sorry! Past date time not allow.");
}
if (inputDateTime.getDate() == current.getDate()) {
if (inputDateTime.getHours() < current.getHours()) {
$('.datetimepicker').datetimepicker('reset');
}
this.setOptions({
minTime: current.getHours() + ':00' //here pass current time hour
});
} else {
this.setOptions({
minTime: false
});
}
}
};
var currentYear = new Date();
$('.datetimepicker').datetimepicker({
format:'Y-m-d H:i',
minDate : 0,
yearStart : currentYear.getFullYear(), // Start value for current Year selector
onChangeDateTime:checkPastTime,
onShow:checkPastTime
});