2017-08-01 153 views
-2

我使用Bootstrap Datepicker如何设置限制以仅使用multidates选项来选择最多3个日期。Bootstrap Datepicker:如何设置限制以仅选择3个日期?

var todayDate = moment().format('mm-dd-yyyy'); 
dp = $("#leaveDatePicker").datepicker({ 
    format    : "mm-dd-yyyy", 
    multidate   : true, 
    inline    : true, 
    todayHighlight  : false, 
    daysOfWeekDisabled : [0], 
    startDate   : 'today', 
    beforeShowDay  : function(date){ 
     var d   = date; 
     var curr_month = d.getMonth() + 1; //Months are zero based 
     if(curr_month < 10) 
      curr_month = '0'+curr_month; 
     var formattedDate = curr_month + "-" + d.getDate() + "-" +d.getFullYear() 
     if ($.inArray(formattedDate, myActiveDates) != -1){     
      return { 
       classes: 'active' 
      }; 
     } 
     return [true,""]; 
    } 
}); 
dp.data('datepicker').setDates($('input#datestring').val().split(',')); 
dp.on('changeDate', function (e){ 
    $('input#datestring').val($(this).data('datepicker').getFormattedDate()); 
}); 
+1

请把你的一些代码 –

+0

我怎么粘贴我的代码?它显示消息**评论太长**实际上我新来这里 –

+0

编辑您的问题,并添加代码 – amicoderozer

回答

0

使用变量来存储选定的日期数组。

每当日期被选择检查在日期选择器中的数据的长度,并且如果它大于3做从所存储阵列的复位,并通知用户

var selectedDates = []; 
dp.on('changeDate', function(e) { 

    if (e.dates.length < 4) { 
    // store current selections 
    selectedDates = e.dates 
    } else { 
    // reset dates if 4th selected 
    dp.data('datepicker').setDates(selectedDates); 
    alert('Can only select 3 dates') 
    } 

}); 

DEMO

相关问题