简体   繁体   English

在Datepicker中禁用天数

[英]Disable days in Datepicker

I'm trying to disable certain days of the calendar, but I can not. 我试图禁用日历的某些日子,但我不能。

I'm using this datepicker https://github.com/eternicode/bootstrap-datepicker/blob/master/docs/index.rst . 我正在使用这个日期选择器https://github.com/eternicode/bootstrap-datepicker/blob/master/docs/index.rst

The javascript code I have is this, I work all I need except the days you want to disable. 我的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
})

just modify your function like this: 只需像这样修改你的功能:

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

}

Created Fiddle for you. 为你创造了小提琴。

Working 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"]; 
    }
}
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM