2015-10-16 126 views
0

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

其他日子每三天只是颜色编码。

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); 
}); 
+0

H @BarclayVision,究竟是什么问题? –

+0

我需要选择所有的星期天。 – BarclayVision

+0

包括黄色的? –

回答

0

加入ShiftColor = "kellyDay"到第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' ]; 
}