1

由于我的要求,我正在寻找如何在 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 日,但不确定是否可能

提前谢谢

4

1 回答 1

2

您可以使用beforeShowDayjQuery UI 的 Datepicker ( docs ) 的事件:

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

您可以像这样实现它(现场示例):

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
});​
于 2012-05-28T13:32:20.307 回答