datepicker - beforeShowDay 不工作

datepicker - beforeShowDay not working

我正在尝试使用 beforeShowDay 从日历中屏蔽日期。我发现这个 Fiddle code 有效。但我不明白为什么我的代码对我不起作用。我没有收到任何错误消息。我可以在控制台中看到不是 -1 的日期,问题是日历不会阻止不可用的日期(return -1 的日期)。用户可以选择他们想要的任何日期。

这是我的 html :

<div class="input-group input-append date" id="dateRangePicker">
    <input type="text" id="date" class="form-control" name="date" />
    <span class="input-group-addon add-on"><span class="glyphicon glyphicon-calendar"></span></span>
</div>

这是我的 JQuery :

    availableDates = ['04-25-2015','04-27-2015','04-22-2015'];
    $('#date').datepicker({
    dateFormat: 'mm-dd-yy',
    startDate: "04-20-2015",
    endDate: "01-01-2016",
    beforeShowDay: function(d) {
        var dmy = (d.getMonth()+1)
        if(d.getMonth()<9) 
            dmy="0"+dmy; 
        dmy+= "-"; 

        if(d.getDate()<10) dmy+="0"; 
            dmy+=d.getDate() + "-" + d.getFullYear(); 

        console.log(dmy+' : '+($.inArray(dmy, availableDates)));

        if ($.inArray(dmy, availableDates) != -1) {
            return [true, "","Available"]; 
        } else{
             return [false,"","unAvailable"]; 
        }
    },
    todayBtn: "linked",
    autoclose: true,
    todayHighlight: true
    });

我创建了一个 fiddle 结合您的代码和您提供的 link,我认为它的工作。我只是使用了他的 initialize 方法并在其中调用了 datepicker 。检查 THIS DEMO

编辑 - 对于您提到的版本,您需要为日期选择器添加外部资源 [jquery-ui.cssjquery-ui.js].

检查此更新FIDDLE