在Datepicker中禁用天数

时间:2013-11-19 13:34:52

标签: javascript jquery twitter-bootstrap datepicker

我正在尝试禁用日历的某些日子,但我不能。

我正在使用此日期选择器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
})

2 个答案:

答案 0 :(得分:2)

只需修改你的功能:

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

}

答案 1 :(得分:0)

为你创造小提琴。

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