【问题标题】:DatePicker allow Sunday selectable datesDatePicker 允许星期天可选择日期
【发布时间】:2015-10-16 19:10:37
【问题描述】:

我正在使用 JQuery Datepicker,并以 http://jsfiddle.net/gh4muv2p/ 为例。我试图让所有星期天都可以选择。我需要阻止选择除星期日以外的所有黄色日期。

其他日子只是每三天进行一次颜色编码。

function unavailable(pick) {
var utcPick = new Date(pick.getUTCFullYear(), pick.getUTCMonth(), pick.getUTCDate(), 0, 0, 0);
//-- converts your pick to utc time
var utcStart = new Date(2014, 0, 0).getTime(); //gets utc time
var day = Math.round((utcPick - utcStart) / 86400);
var nwe = noWeekEnds(pick);
var nkd = noKelly(pick);
var assLeave = myAssignedLeave(pick);
var osun = onlySunday(pick);
var Rnd1 = (true) && osun[0];   // First Round full weeks

var myShift = "A";

var Ashift = (day%3===0) && nkd[0] && assLeave[0];  // A Shift
var Bshift = (day%3===1) && nkd[0] && assLeave[0];  // B Shift
var Cshift = (day%3===2) && nkd[0] && assLeave[0];  // C Shift
var Dshift = (true) && nwe[0] && assLeave[0];  // D Shift

var Shift = "";
var ShiftColor = "";
var ShiftColorDayOff = "false";
var DO_ShiftColor = "";
var myRound = "ROUND 1";

if(myShift=="A") (Shift = Ashift) && (ShiftColor = "shiftColor_A");
if(myShift=="B") (Shift = Bshift) && (ShiftColor = "shiftColor_B");
if(myShift=="C") (Shift = Cshift) && (ShiftColor = "shiftColor_C"); 
if(myShift=="D") (Shift = Dshift) && (ShiftColor = "shiftColor_D"); 

if(myShift=="A") (ShiftColorDayOff = (day%3===0)) &&  (DO_ShiftColor = "blue_day_off"); 
if(myShift=="B") (ShiftColorDayOff = (day%3===1)) &&  (DO_ShiftColor = "green_day_off");  
if(myShift=="C") (ShiftColorDayOff = (day%3===2)) &&  (DO_ShiftColor = "red_day_off"); 
if(myShift=="D") (ShiftColorDayOff =  (true) && nwe[0]); 

if((ShiftColorDayOff) && (nkd[0] === false)) return [ false, 'yellow_day_off', 'Kelly!' ];
if((ShiftColorDayOff) && (assLeave[0] === false)) return [ false, 'gray_day_off', 'Assigned Leave!' ];


if(myRound == "ROUND 1") {
    Shift = Rnd1;

        if((ShiftColorDayOff) && (osun[0] === false)){
            if(nkd[0] === false) {
                return [ true, 'yellow_day_off', 'Kelly!' ];
            }else{
                return [ false, DO_ShiftColor, 'unavailable' ];
            }
        }         
}    

return [Shift, ShiftColor, "Available"];  
// remove a tag in CSS to change sunday box 
}

$(document).ready(function () {
$("#datepicker").datepicker({
    beforeShowDay: unavailable
});

$('#datepicker').attr('readonly', true);
});

【问题讨论】:

  • H @BarclayVision,到底是什么问题?
  • 我需要所有星期日都可以选择。
  • 包括黄色的?
  • 看看 jsfiddle.net/gh4muv2p/1 我移动代码以隔离 ROUND 1 代码。这样可以选择星期日,但会失去黄色!

标签: javascript datepicker


【解决方案1】:

通过将ShiftColor = "kellyDay" 添加到ROUND 1 if 语句并将true 设置为星期几来解决。 http://jsfiddle.net/gh4muv2p/4/

 if(myRound == "ROUND 1") {
    Shift = Rnd1; 

        if((ShiftColorDayOff)  && (osun[0] === false)){
            if(nkd[0] === false) {
                return [ false, 'yellow_day_off', 'Kelly!' ];
            }else{
                return [ false, DO_ShiftColor, 'My Shift' ];
            }
        }else if((ShiftColorDayOff) && (osun[0] === true)){
            if(nkd[0] === false) {
                DO_ShiftColor = "kellyDay" 
                return [ true, DO_ShiftColor, 'Kelly!!' ];
            }
        }
}else{
    if((ShiftColorDayOff) && (nkd[0] === false)) return [ false, 'yellow_day_off', 'Kelly!' ]; 
    if((ShiftColorDayOff) && (assLeave[0] === false)) return [ false, 'gray_day_off', 'Assigned Leave' ]; 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    相关资源
    最近更新 更多