我可以禁用日期:

$('#datepicker').datepicker({
    todayHighlight: true,
    datesDisabled: ['03/06/2017', '03/21/2017','04/14/2017']
});

但是在我的用例中,由于您可以通过日历来回顾这一年,因此我可以在 2017 年的 365 天中禁用 300 天,在 2016 年的 365 天中禁用 200 天。

我想优化,想象一下 5 年后,他可以有 2500 天来加载。
有人知道如何动态地做到这一点,我的意思是,每次更改当前月份。

或者另一种方法来做到这一点?

最佳答案

在 changeMonth、changeYear、changeDecade 或 changeCentury 事件中使用任何 set* 方法(例如 setDatesDisabled)将触发更新,这将导致选择器恢复到当前查看日期发生的月份。

为了防止这种情况,您只需将 updateViewDate 选项设置为 false 来启动选择器。

$('#datepicker').datepicker({
  todayHighlight: true,
  updateViewDate: false,
  //datesDisabled: ['03/06/2017', '03/21/2017','04/14/2017']
}).on('changeMonth', function(e){
  var month = e.date.getMonth();
  var disabled = getDisabledDates(month);
  $('#datepicker').datepicker('setDatesDisabled', disabled);
});

关于jquery - Bootstrap datepicker,每月动态禁用日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43099055/

10-16 07:53