2017-09-26 14 views
1

私はdatetimepickerを使用して予約機能を使用したいので、予約済みの時間を無効にする必要があります。しかし、私はまだ働く方法を見つけることができません。datetimepicker disable 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への呼び出しを行う必要があります。次に、あなたのdatepickerが開かれたら、timepickerの各時刻とDBの時刻を確認します。 1つが一致する場合はグレーアウト/無効にし、そうでない場合は有効にします。 Ajaxはあなたの友人です。

+0

あなたのアンサーに感謝します。しかし、私は時間を無効にする機能を見つけようとしています。 – kazer

0

onChangeDateTime:function(dp,$input)を使用して私の問題を解決していますが、私は自分のコントローラに選択した日付を送信し、文字列配列を返します。それから私はallowTimesに私の時間を表示する。

onChangeDateTime: function(dp,$input){   
    var pick = $input.val(); 
    $.getJSON('/ShiawaseWeb/Reservation/adjust.controller',{'pick':pick}, function(datas){  
     $('#datetimepicker').datetimepicker({allowTimes:datas[0]}) 
    }) 
}