通过ajax提供数组时,bootstrap datepicker datesdisabled无效

时间:2017-11-09 05:53:13

标签: jquery ajax bootstrap-datepicker

我通过ajax获取日期。我想在我的datepicker上禁用这些日期。但是参数datesDisabled在我的代码中根本不起作用。它始终显示日期选择器而不禁用任何日期。下面是我的jquery代码:

$(document).ready(function() {

    $("#people").blur(function() {
                var people = $("#people").val();
                if(people == "" || people == 0)
                    {
                        $("#people-error").html("Please enter number of people.");
                        return false;
                    }
                var experience_uid = $("#experience_uid").val();
                var req_url = "' . site_url() . '/wp-content/plugins/visitnorth/visitnorth.php";
                var ajax_req_for_schedule = 1;



               $.ajax({
                    async:false,
                    "type": "POST",
                    "url": req_url,
                    "data": {"people":people, "experience_uid":experience_uid, "ajax_req_for_schedule":ajax_req_for_schedule},
                    statusCode: {
                        404: function() {
                            alert("Oj, någonting gick fel. Försök igen.");
                        },
                        500: function() {
                            alert("Oops! An Internal Error has occurred.");
                        },
                    },
                    success: function (data) {
                       //output data is: ["11-08-2017, 11-05-2017, 11-03-2017"]
                       $(".datepicker").datepicker({
                            todayHighlight: true,
                            datesDisabled: data
                        });

                    }
                });

               });

            });

1 个答案:

答案 0 :(得分:1)

要禁用某些特定日期,您可以覆盖为每个日期调用的方法(beforeShowDay),然后您可以返回css类:

beforeShowDay:function(date){

                    if (date<minDate || date > maxDate) {
                        return 'invalid_date_datepicker';
                }
            }` 

在上面的例子中,invalid_date_datepicker是一个css类,它使该区域变灰。

如果您还希望不选择这些灰色日期,您还可以覆盖onSelect并限制它选择已应用此类的日期。