datetimepicker禁用时间jquery

时间:2017-09-26 15:45:14

标签: jquery datetimepicker

我想使用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();        
                }
            });
        }
    }
});

2 个答案:

答案 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]})
    })
}