时间选择器禁用使用从 PHP 返回的字符串

time picker disable using string returned from PHP

我正在使用 This timepicker 让用户 select 预订时间。为了禁用已经预订的时间,我得到一个字符串形式 php 看起来像这样

['10:00 AM' , '10:10 AM'],['11:00 AM' , '11:10 AM'],['12:20 PM' , '12:30 PM '],['上午 10:20' ,'上午 10:30']

但是当我在禁用时间范围内使用这个数组时,它不起作用。

我正在使用 ajax 从 php 获取值并在 return 上禁用它。

非常感谢, 哈萨姆

$(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/>

根据时间选择器的文档,disableTimeRanges 需要将范围数组传递给它。相反,您传递的是一个字符串。

解析来自服务器的响应,它应该可以工作。

disableTimeRanges: [JSON.parse(response)]