Jquery datepicker 启用数组中的日期?

Ton*_*ony 2 javascript jquery datepicker

我试图在 datepicker 中只启用一些指定的日期。在我的情况下,变量“onlyThisDates”中的值。我应该使用 enabledDates 选项来解决这个问题还是..?我不想禁用数组中的值。另一种方式。我想禁用所有内容,只启用数组中的值。

如果有人可以提供帮助,那就太好了。

<input id="openDatepick></input>
Run Code Online (Sandbox Code Playgroud)
var onlyThisDates = ['09/11/2015', '10/11/2015', '11/11/2015'];    

var nowDate = new Date();
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0);

$('#openDatepick').datepicker({
    format: 'dd/mm/yyyy',
    startDate: today

}).on('changeDate', function (e) {
    //$('this').datepicker('hide');
});
$("#remove").on("click", function () {
    $('.datepicker-days').hide();
});
Run Code Online (Sandbox Code Playgroud)

Tal*_*eeb 5

beforeShowDay功能上:对于您返回 false 的任何日期 - 这将被禁用,对于任何日期,该日将启用除 f​​alse 以外的任何其他内容。

基于此,您beforeShowDay应该类似于以下内容:-

beforeShowDay: function (date) {
        var dt_ddmmyyyy = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
        return (onlyThisDates.indexOf(dt_ddmmyyyy) != -1);
    }
Run Code Online (Sandbox Code Playgroud)

请注意,我getMonth()在 javascript 中从 0 开始添加了 1 到as 月份。

请参阅此处的 jsFiddle


编辑:基于评论

beforeShowDay函数中,我们可以定义 css、工具提示等。例如,我们可以返回一个 css-class,而不是返回 true。

beforeShowDay: function (date) {
        var dt_ddmmyyyy = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
        if (onlyThisDates.indexOf(dt_ddmmyyyy) != -1) {
            return {
                tooltip: 'This date is enabled',
                classes: 'active'
            };
        } else {
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

看到这个jsFiddle

另请参阅此链接以了解引导程序日期选择器可用的不同功能。