jQuery 日期选择器 - 不再强调(而不是禁用)过去的日期

jQuery Datepicker - de-emphasize (not disable) past dates

我试图在 jquery ui 日期选择器中将过去的日期变灰,但让用户能够 select 它们。

唯一允许类似的东西是选项 minDate: 0,但它旨在完全禁用过去的日期。 Jquery 甚至没有用不同的 class 标记它们来简单地应用不同的样式。

这应该可以满足您的要求:

$('.datepicker').datepicker({
    beforeShowDay: function (date) {
        var d = date.getTime();
        if (d < new Date()) {
            return [true, 'myClassForPastDates', ''];
        } else {
            return [true, ''];
        }
    }
});

在函数中,您必须 return 要添加的 class 名称。但是你必须查看你是如何覆盖默认主题的 css。

http://jsfiddle.net/97L93a3h/21/

你试过beforeShowDay回调函数了吗?

这是一个快速示例:https://jsfiddle.net/salih0vicX/wnenpfpx/


$( "#datepicker" ).datepicker({
        beforeShowDay  : function(date) 
       {
          var today = new Date();
          var isToday = (today>date);
          if(isToday) return [true, 'myClass', 'Some caption (if needed)']; 
          else return [true, '', '']; //default ... you can pass false to disable this date
        },
    });