禁用日期选择器中的天数

Disable days in Datepicker

本文关键字:选择器 日期      更新时间:2023-09-26

我试图禁用日历中的某些日子,但我做不到。

我正在使用此日期选择器https://github.com/eternicode/bootstrap-datepicker/blob/master/docs/index.rst.

我的javascript代码是这样的,除了你想禁用的日子,我可以随心所欲地工作。

var disabledDays = ['11/29/2013', '11/27/2013', '11/28/2013'];
function daysDisabled(date) {
    for (var i = 0; i < disabledDays.length; i++) {
        if (new Date(disabledDays[i]).toString() == date.toString()) {
            return [false, ''];
        }
    }
    return [true, ''];
}
$('.datepicker').datepicker({
    format: 'dd-mm-yyyy',
    todayHighlight: true,
    autoclose: true,
    weekStart: 1,
    startDate: '0d',
    language: 'es',
    beforeShowDay: daysDisabled
})

只需像这样修改您的函数:

function daysDisabled(date) {
    for (var i = 0; i < disabledDays.length; i++) {
        if (new Date(disabledDays[i]).toString() == date.toString()) {
            return false;
        }
    }
    return true;
}

为您创建了Fiddle。

工作Fiddle

function initComponent(){
/* Date retrait */
 $("#dateRetrait").datepicker({
  dateFormat: 'dd-mm-yy',
  minDate: new Date(), 
  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, disbleddates)));
    if ($.inArray(dmy, disbleddates) != -1) {
        return [false, "","Available"]; 
    } else{
         return [true,"","unAvailable"]; 
    }
}
});