datepicker - beforeShowDay无效

时间:2015-04-20 09:06:25

标签: jquery jquery-ui-datepicker bootstrap-datepicker

我尝试使用beforeShowDay来阻止日历中的日期。我发现这个Fiddle code有效。但我无法弄清楚为什么我的代码对我不起作用。我没有收到任何错误消息。我可以看到控制台中的日期不是-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
    });

1 个答案:

答案 0 :(得分:3)

我创建了一个组合你的代码和你提供的链接的小提琴,我认为它的工作。我刚刚使用了他的initialize方法并在其中调用了datepicker。检查 THIS DEMO

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

选中此更新 FIDDLE