2017-09-26 93 views
1

我想使用datetimepicker做我的預訂功能,所以我需要禁用我已經保留的時間。但是,我仍然無法找到一種工作方法。datetimepicker禁用時間jquery

我試過了我見過的唯一類似的解決方案,但它也失敗了。 任何人都可以幫助我解決這個問題嗎?

<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

你需要讓你的DB帶回的預訂時間收集的呼叫。然後,當您的日期選擇器打開時,檢查時間選擇器上的每次對數據庫中的時間;如果一個匹配,然後灰色/禁用它,否則將其啓用。阿賈克斯是你的朋友。

+0

感謝您的anwser,但我試圖找到功能來禁用時間,我卡住了.. – kazer

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