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。
你试过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
},
});
我试图在 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。
你试过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
},
});