동적으로 날짜를 설정하는 날짜 선택 도구가 있습니다. 선택할 수있는 유일한 날짜는 모두 일요일로만 설정됩니다. 내 색상 패턴은 매 3 일마다 설정됩니다. 선택할 수없는 날짜는 음소거 된 빨간색이고 선택 가능한 날짜는 밝은 빨간색입니다. - 선택 가능한 날짜를 다른 것과 같이 음소거해야합니다. 선택 셀Datepicker 변경 날짜 선택 색상 CSS
CSS는 다음과 같습니다 unelectable 셀 class ui-datepicker-week-end shiftColor_C ui-datepicker-current-day
CSS는 다음과 같습니다 class ui-datepicker-unselectable ui-state-disabled red_day_off
내가 설치가 : 복사 작업의 http://jsfiddle.net/jeffbarclay/hnjv3L8e/1/!
CODE :이 접근하는
var array = ["8/19/2014","11/19/2014","08/25/2014"]
function noKelly(pick) {
var kelly = 4;
var dow = pick.getDay();
if(dow==kelly) return [false,''];
return [true,''];
}
function noWeekEnds(pick) {
var dow = pick.getDay();
if (dow > 5 || dow < 1) return [false, ''];
return [true, ''];
}
function onlySunday(pick) {
var dow = pick.getDay();
if (dow > 0) return [false, ''];
return [true, ''];
}
function myAssignedLeave(pick) {
var string = $.datepicker.formatDate('m/d/yy', pick);
return [ array.indexOf(string) == -1 ]
}
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 = "B";
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 = "";
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");
//var shift = (true) && osun[0];
Shift = Rnd1;
if((day%3===1) && (osun[0] === false)) return [ false, 'green_day_off', 'unavailable' ];
return [Shift, ShiftColor, "Unavailable"];
}
$(document).ready(function() {
$("#datepicker").datepicker({
beforeShowDay: unavailable
});
$('#datepicker').attr('readonly', true);
});
'경우 ((% 3 일 === 1) && (오순 [0] === 거짓)) return [false, 'green_day_off', 'unavailable']; ' 사용할 수없는 속성을 여기 요일에 추가하고 있지만 일요일이 아닌 날로 제한하고 있습니까? – charles
가 맞습니다. 일요일을 선택 가능하게하고 싶습니다. 음소거하려면 일요일에 색상이 필요합니다 ... – BarclayVision
일 % 3 === 1과 isSunday가 음소거로 돌아 오는 이유는 무엇입니까? 음소거 된 속성이 추가되는 위치를 모르십니까? 그건 jquery UI 클래스에 불과합니다. – charles