datepicker(启用个别日期)

时间:2012-05-28 13:08:19

标签: jquery-ui

由于我的要求,我正在寻找一个如何在JQUERY日期选择器中“启用”特定日期的示例。我已经禁用了2行代码,我的逻辑有一些我需要启用的具体日期。要通过禁用来实现这一点需要更多的代码复杂性。我试图找到启用的例子,但没有提出任何建议。

如果在特定日期无法完成,我需要按下,但我想先检查

function changeFormat() {
    dVal = $("#FirstPeriodReconDate").datepicker("getDate");

    StartDate = new Date(dVal);
    EndDate = new Date(dVal);

    $("#FirstROCRecycleReconDate").datepicker("option", "numberOfMonths", 3);
    $("#FirstROCRecycleReconDate").datepicker("option", "buttonImage",
        $("#AbsolutePath").val() + 'Content/images/Control_MonthCalendar.bmp');
    $("#FirstROCRecycleReconDate").datepicker("option", "buttonImageOnly", true);

    StartDate = new Date("May 20, 2012");
    EndDate = new Date("June 21, 2012");
    $("#FirstROCRecycleReconDate").datepicker("option", "minDate", StartDate);
    $("#FirstROCRecycleReconDate").datepicker("option", "maxDate", EndDate);
}

现在我想启用特定日期,此时所有日期都被禁用。我要求说明2012年6月1日,但不确定是否可能

提前致谢 Ĵ

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery UI的Datepicker beforeShowDay事件docs):

  

该函数将日期作为参数,并且必须返回一个数组   [0]等于true / false,表示此日期是否为   selectable,1等于CSS类名称或默认值为“”   演示文稿,2此日期的可选弹出工具提示。它是   在显示之前,在日期选择器中调用每一天。

您可以像这样实现它(live example):

var _allowedDates = [
    new Date(2012, 4, 27).getTime(),
    new Date(2012, 4, 28).getTime(),
    new Date(2012, 4, 29).getTime(),
];

function allowedDates(date) {
    date = date.getTime();

    for (i in _allowedDates)
        if (date == _allowedDates[i])
            return [true, ""];

    return [false, ""];
}

$('#datepicker').datepicker({
    beforeShowDay: allowedDates
});​