我想使用datetimepicker
来执行我的预约功能,所以我需要禁用我保留的时间。但是,我仍然无法找到合适的方法。
我尝试过我见过的唯一类似解决方案,但也失败了。 任何人都可以帮助我这个问题吗?
<h3>DateTimePicker</h3>
<input type="text" value="" id="datetimepicker"/><br><br>
$.datetimepicker.setLocale('en');
$('#datetimepicker').datetimepicker({
dayOfWeekStart: 1,
lang: 'en',
disabledDates: ['1986/01/08','1986/01/09','1986/01/10'],
startDate: '1986/01/05'
});
$('#datetimepicker').datetimepicker({value:'2015/04/15 05:03',step:60});
var specificDates = ['24/12/2014','17/12/2014'];
var hoursToTakeAway = [[14,15],[17]];
$('#datetimepicker').datetimepicker({
format:'d.m.Y H:i',
timepicker: true,
lang: 'en',
onGenerate: function(ct,$i){
var ind = specificDates.indexOf(ct.dateFormat('d/m/Y'));
$('#datetimepicker').show();
if(ind !== -1) {
$('#datetimepicker').each(function(index){
if(hoursToTakeAway[ind].indexOf(parseInt($(this).text())) !== -1)
{
$(this).hide();
}
});
}
}
});
答案 0 :(得分:0)
您需要打电话给您的数据库,以便收回预定时间的集合。然后,当您的日期选择器打开时,每次检查时间戳上的数据都与数据库中的时间相对应;如果一个匹配然后灰色它/禁用它,否则保持启用。 Ajax是你的朋友。
答案 1 :(得分:0)
我通过使用onChangeDateTime:function(dp,$input)
来解决我的问题,我只是将选择的日期发送到我的控制器并返回String数组。然后我将其交给allowTimes
以显示我的时间。
onChangeDateTime: function(dp,$input){
var pick = $input.val();
$.getJSON('/ShiawaseWeb/Reservation/adjust.controller',{'pick':pick}, function(datas){
$('#datetimepicker').datetimepicker({allowTimes:datas[0]})
})
}