2017-11-05 8 views
0

This timepickerを使用して予約時間を選択します。既に予約されている時間を無効にするには、このような文字列形式のPHPを取得していますPHPから返された文字列を使用して時間ピッカーを無効にする

['10:00 AM '、'10:AM']、 '' 11:00 AM ' 、'11:10 AM ']、['12:20 PM'、'12:30 PM ']、['10:20 AM'、'10:30 AM ']

この配列を使用するとディセーブル時間範囲では動作しません。

私はajax goを使用してPHPから値を取得し、それを戻して無効にします。

多くのおかげで、 ハッサム

$(document).ready(function(){ 
    $('.timepicker').click(function(){ 
     var ajaxurl = 'Ajax.php', 
     data = {'action': 'Hassam'}; 
     $.post(ajaxurl, data, function (response) { 
      $('input[name="datetime"]').timepicker({ 
       disableTimeRanges: [ response ], 
      }); 
    //  disableTime = response; 
      alert(response); 

    }); 

}); 
}); 

var disTime; 
 
disTime= "['10:00am', '10:20am'],['4:20pm', '4:40pm']"; 
 
$(document).ready(function() { 
 
    $('input[name="datetime"]').timepicker({ 
 
    minTime: '10:00am', 
 
    maxTime: '04:40pm', 
 
    step: 20, // 20 minutes 
 
    disableTimeRanges: [disTime ], 
 
    // showDuration: true 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.min.css" rel="stylesheet"/> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.min.js"></script> 
 

 

 
<input id="timepicker" 
 
     type="text" 
 
     class = "timepicker" 
 
     name="datetime" 
 
     placeholder = "Time*" 
 
     required/>

+0

範囲値の配列の代わりに文字列を渡しているため、機能しません。 –

+0

@josanありがとう、どうすればこの文字列を配列に変換できますか?もし私がPHPとjavascriptを初めて使うのであれば、お詫びします。 –

+0

'JSON.parse()'を使って試してみてください。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ JSON/parse –

答えて

0

はtimepickerのドキュメントによると、disableTimeRangesは、それに渡される範囲の配列が必要です。代わりに、文字列を渡しています。

サーバーからの応答を解析すると正常に動作するはずです。

disableTimeRanges: [JSON.parse(response)] 
+0

ありがとう@ジョサン:) –

関連する問題