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

时间:2017-11-05 07:48:47

标签: javascript php jquery timepicker

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

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

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

我使用ajax从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/>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

根据timepicker的文档,disableTimeRanges需要传递一系列范围。相反,你传给它一个字符串。

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

disableTimeRanges: [JSON.parse(response)]