我正在尝试在datepicker中启用一些指定的日期。在我的例子中,变量“onlyThisDates”中的值。 我应该使用enabledDates选项来解决这个问题吗? 我不想禁用数组中的值。另一种方式。我想禁用所有内容,只需启用数组中的值。
如果有人可以提供帮助,那就太好了。
<input id="openDatepick></input>
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();
});
答案 0 :(得分:4)
在beforeShowDay
函数中:对于您返回false的任何日期 - 将被禁用,并且对于任何日期,将返回除false之外的任何其他日期。
基于此,您的beforeShowDay
应如下所示: -
beforeShowDay: function (date) {
var dt_ddmmyyyy = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
return (onlyThisDates.indexOf(dt_ddmmyyyy) != -1);
}
请注意,我在javascript从0开始按月添加1 getMonth()
。
请参阅jsFiddle here。
编辑:基于评论
在beforeShowDay
函数中我们可以定义css,工具提示等。例如,我们可以返回一个css类而不是返回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;
}
}
请参阅此jsFiddle。
另请参阅this link了解bootstrap datepicker可用的不同功能。
答案 1 :(得分:0)
以下代码将使用datepicker,属性“ daysOfWeekDisabled”禁用星期几 需要星期几ID的数组
$(".dateControl").datepicker({
daysOfWeekDisabled: [1,2,3],
startDate: new Date(),
autoclose: true
})