如何使用 DateTime Picker 修复整个星期的开放时间分钟数?
How to fix opening time minutes for whole week using DateTime Picker?
我想使用 DateTimepicker 将整个星期的商店营业时间设置为 10:30 AM(例如)。使用这段代码我可以限制时间。
var curentDate = new Date();
var lastDate = new Date();
lastDate.setDate(curentDate.getDate() + 6);
$('#txtdate').datetimepicker({
inline: true,
sideBySide: true,
maxDate: lastDate,
minDate: curentDate,
enabledHours: HoursArray()
});
我将其设置为 15 分钟增量,但我不确定如何为一周中的所有日子设置分钟数。我还想在每天上午 10:30 之前禁用分钟。
有人可以指导我吗?
我没有看到图书馆提供任何方法来设置每天的默认时间,但您可以使用他们的 events API and date() 方法来控制自己。您可以像这样收听更改事件:
$(document).on('dp.change', manipulateTime);
活动显示日历的new date
和oldate
。如果日期不同,那么您可以使用 date()
方法更改新日期的时间。
function manipulateTime(e){
if(!e.date.isSame(e.oldDate, "day")){
$(e.target).data("DateTimePicker").date(e.date.set({
'hour' : 10,
'minute' : 30
}));
}
}
进一步说明
事件触发时 return 三个必要的引用,date
、olddate
、target
.
调用 DateTimePicker 函数
- Note according to their documentation you can use their methods like this: All functions are accessed via the data attribute e.g.
$('#datetimepicker').data("DateTimePicker").FUNCTION()
使用事件
当您调用 dp.change
事件时。回调函数将 return 对象 e
具有以下可访问属性:
e
属性
e = {
date, //date the picker changed to. Type: moment object (clone)
oldDate //previous date. Type: moment object (clone) or false in the event of a null,
target // targeted date picker,
and more...
}
这是我为解决这两个问题所做的最后一件事
var futureHour = (new Date(td.date)).getHours();
var futureMin = (new Date(td.date)).getMinutes();
//This is to re-loop time when user tries to select time below 1st pickup time
if(futureHour <= storeOpenHour && futureMin < storeOpenMinutes){
$(td.target).data("DateTimePicker").date(td.date.set({
'hour' : storeOpenHour,
'minute' : storeOpenMinutes
}));
}
//This is to select 1st pickup time on day change
if(!td.date.isSame(td.oldDate, "day")){
$(td.target).data("DateTimePicker").date(td.date.set({
'hour' : storeOpenHour,
'minute' : storeOpenMinutes
}));
}
我想使用 DateTimepicker 将整个星期的商店营业时间设置为 10:30 AM(例如)。使用这段代码我可以限制时间。
var curentDate = new Date();
var lastDate = new Date();
lastDate.setDate(curentDate.getDate() + 6);
$('#txtdate').datetimepicker({
inline: true,
sideBySide: true,
maxDate: lastDate,
minDate: curentDate,
enabledHours: HoursArray()
});
我将其设置为 15 分钟增量,但我不确定如何为一周中的所有日子设置分钟数。我还想在每天上午 10:30 之前禁用分钟。
有人可以指导我吗?
我没有看到图书馆提供任何方法来设置每天的默认时间,但您可以使用他们的 events API and date() 方法来控制自己。您可以像这样收听更改事件:
$(document).on('dp.change', manipulateTime);
活动显示日历的new date
和oldate
。如果日期不同,那么您可以使用 date()
方法更改新日期的时间。
function manipulateTime(e){
if(!e.date.isSame(e.oldDate, "day")){
$(e.target).data("DateTimePicker").date(e.date.set({
'hour' : 10,
'minute' : 30
}));
}
}
进一步说明
事件触发时 return 三个必要的引用,date
、olddate
、target
.
调用 DateTimePicker 函数
- Note according to their documentation you can use their methods like this: All functions are accessed via the data attribute e.g. $('#datetimepicker').data("DateTimePicker").FUNCTION()
使用事件
当您调用 dp.change
事件时。回调函数将 return 对象 e
具有以下可访问属性:
e
属性
e = {
date, //date the picker changed to. Type: moment object (clone)
oldDate //previous date. Type: moment object (clone) or false in the event of a null,
target // targeted date picker,
and more...
}
这是我为解决这两个问题所做的最后一件事
var futureHour = (new Date(td.date)).getHours();
var futureMin = (new Date(td.date)).getMinutes();
//This is to re-loop time when user tries to select time below 1st pickup time
if(futureHour <= storeOpenHour && futureMin < storeOpenMinutes){
$(td.target).data("DateTimePicker").date(td.date.set({
'hour' : storeOpenHour,
'minute' : storeOpenMinutes
}));
}
//This is to select 1st pickup time on day change
if(!td.date.isSame(td.oldDate, "day")){
$(td.target).data("DateTimePicker").date(td.date.set({
'hour' : storeOpenHour,
'minute' : storeOpenMinutes
}));
}