gpt4 book ai didi

css - jQuery UI Datepicker - 选定日期之后的颜色日期

转载 作者:行者123 更新时间:2023-11-28 08:56:19 25 4
gpt4 key购买 nike

我正在使用 jQuery UI 日期选择器来允许用户选择日期。我需要在选定日期后 7 天涂色。

例如,如果用户选择了 1.1.2015,则点击时会为 2.1.20158.1.2015 着色(在 1.1.2015 上)。我在关注 this指导,但我无法完成这项工作。

基本上我正在做的是创建一个 future 日期数组(基于从所选日期计算的毫秒数 + 每天 86400000 毫秒),然后尝试将 css 类应用于这个数组。请指教。

编辑:
也许我应该提一下,但是这个选择器是内联的,所以更改必须立即发生。

编辑2:
这是一个来自jsfiddle的例子.

JS:

var arrayOfFollowingWeekDates = [];
var selectedStartingDate;

//date picker configuration
$('#datepicker').datepicker({
onSelect: function(dateText, inst){

selectedStartingDate = dateText;
var selectedDateAsObject = $(this).datepicker('getDate');
arrayOfFollowingWeekDates = calcFollowingtWeekDates(selectedDateAsObject);
if(selectedDateAsObject > new Date){
console.log(selectedStartingDate);

}else{
console.log("bad date.");
}
},
inline: true,
showOtherMonths: true,
beforeShowDay: function(day, date){
var day = day.getDay();
if (day == 5 || day == 6){
return [false, ""];
} else {
return [true, ""];
}
var highlight = arrayOfFollowingWeekDates[date];
if (highlight) {
return [true, "event", highlight];
} else {
return [true, '', ''];
}
}
});

//this creates an array of the desired week, based on date objects
function calcFollowingtWeekDates(selectedDateObj){
var followingWeek = [];
var tempArrayOfNextDates = [];
var selectedDateInMilliseconds = selectedDateObj.getTime();
console.log("selected date in milliseconds: "+selectedDateInMilliseconds);
tempArrayOfNextDates[0]=selectedDateInMilliseconds;
var day;
var prevDay=selectedDateInMilliseconds;
for(var i=0;i<7;i++){
tempArrayOfNextDates[i] = 86400000 + prevDay;
day = new Date(tempArrayOfNextDates[i]);
prevDay = tempArrayOfNextDates[i];
followingWeek[i]=day;
console.log("next day is : "+ day);
}
return followingWeek;
}

CSS:

.event a {
background-color: #42B373 !important;
background-image :none !important;
color: #ffffff !important;
}

最佳答案

这是一个有效的 fiddle :http://jsfiddle.net/97L93a3h/2/

var selectedDay = new Date().getTime();

$('.datepicker').datepicker({
onSelect: function (date) {
selectedDay = $(this).datepicker('getDate').getTime();
},
beforeShowDay: function (date) {
var d = date.getTime();
if (d > selectedDay && d < selectedDay + 1 + 86400000 * 7) {
return [true, 'ui-state-highlight', ''];
} else {
return [true, ''];
}
}
});

将此方法合并到您现有的脚本中。

关于css - jQuery UI Datepicker - 选定日期之后的颜色日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30459868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com