日期选择器 - 在显示日之前不起作用



我正在尝试使用beforeShowDay来阻止日历中的天数。我发现这个小提琴代码有效。但是我不知道为什么我的代码对我不起作用。我没有收到任何错误消息。我可以在控制台中看到不是-1的日期,问题是日历不会阻止不可用的日期(返回-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
    });

我创建了一个小提琴,结合了您的代码和您提供的链接,我认为它可以工作。我只是用了他的initialize方法,并打电话给里面的datepicker。查看此演示

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

检查这个更新的小提琴

最新更新