으허허헝님
40
2021-10-13 17:14:07
0
92

datepicker에서 비활성화된 날짜 색상변경하는법좀



안녕하세요


datepicker에서 비활성화된 날짜 색상변경하는법좀 도움 요청드립니다


구글링 해봐도 주말색상 변경등 밖에 못찾아서용


감사합니다


/*datepicker*/
$(function() {

	$("#checkIn").datepicker({
		dateFormat: 'yy-mm-dd',
		minDate: 0,
		prevText: '이전 달',
		nextText: '다음 달',
		monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
		monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
		dayNames: ['일', '월', '화', '수', '목', '금', '토'],
		dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
		dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
		showMonthAfterYear: true,
		yearSuffix: '년',
		beforeShowDay: IndisableAllTheseDays,
		onClose: function(selectedDate) {
			var sdate = new Date(selectedDate);
			sdate.setDate(sdate.getDate() + 1);
			$("#checkOut").datepicker("option", "minDate", sdate);
		}
	});

	$("#checkOut").datepicker({
		dateFormat: 'yy-mm-dd',
		prevText: '이전 달',
		nextText: '다음 달',
		monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
		monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
		dayNames: ['일', '월', '화', '수', '목', '금', '토'],
		dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
		dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
		showMonthAfterYear: true,
		yearSuffix: '년',
		beforeShowDay: OutdisableAllTheseDays,
		onClose: function(selectedDate) {
			$("#checkIn").datepicker("option", "maxDate", selectedDate);
		}
	});
	
	//예약된 날짜 선택막기(ckin)				
	function IndisableAllTheseDays(date) {
		
		var disabledDays = [];
		var jcount = document.getElementById('jcount').value;
		for(var i=0; i<jcount; i++){
			var cktime = document.getElementById('cktime_'+i).value;

			var monthNo = cktime.indexOf('-0');
			var dayNo = cktime.indexOf('-0', 6);
			
			console.log(i);
			// month, day 모두 앞자리 0인경우 monthNo = 4 dayNo = 7
			if((monthNo == 4) && (dayNo == 7)){
				cktime = cktime.substring(0, 5) + cktime.substring(6, 8) + cktime.substring(9, 10);
				console.log(cktime);
			}
			// month 앞자리만 0인경우 monthNo = 4 dayNo = -1
			if((monthNo == 4) && (dayNo == -1)){
				cktime = cktime.substring(0, 5) + cktime.substring(6, 10);
				console.log(cktime);
			}
			// day 앞자리만 0인경우 monthNo = 7 dayNo = 7
			if((monthNo == 7) && (dayNo == 7)){
				cktime = cktime.substring(0, 8) + cktime.substring(9, 10);
				console.log(cktime);
			}
			// month, day 모두 앞자리 0이 X경우 monthNo = -1 dayNo = -1
			if((monthNo == -1) && (dayNo == -1)){
				console.log(cktime);
			}
			

			
			disabledDays.push(cktime);
		}
						
	    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
	    for (i = 0; i < disabledDays.length; i++) {
	        if($.inArray(y + '-' +(m+1) + '-' + d,disabledDays) != -1) {
	            return [false];
	        }
	    }
	    return [true];
	}
	
	//예약된 날짜 선택막기(ckout)
	function OutdisableAllTheseDays(date) {
		
		var disabledDays = [];
		var jcount = document.getElementById('jcount').value;
		for(var i=0; i<jcount; i++){
			var cktimeout = document.getElementById('cktimeout_'+i).value;
			
			var monthNo = cktimeout.indexOf('-0');
			var dayNo = cktimeout.indexOf('-0', 6);
			
			console.log(i);
			// month, day 모두 앞자리 0인경우 monthNo = 4 dayNo = 7
			if((monthNo == 4) && (dayNo == 7)){
				cktimeout = cktimeout.substring(0, 5) + cktimeout.substring(6, 8) + cktimeout.substring(9, 10);
				console.log(cktimeout);
			}
			// month 앞자리만 0인경우 monthNo = 4 dayNo = -1
			if((monthNo == 4) && (dayNo == -1)){
				cktimeout = cktimeout.substring(0, 5) + cktimeout.substring(6, 10);
				console.log(cktimeout);
			}
			// day 앞자리만 0인경우 monthNo = 7 dayNo = 7
			if((monthNo == 7) && (dayNo == 7)){
				cktimeout = cktimeout.substring(0, 8) + cktimeout.substring(9, 10);
				console.log(cktimeout);
			}
			// month, day 모두 앞자리 0이 X경우 monthNo = -1 dayNo = -1
			if((monthNo == -1) && (dayNo == -1)){
				console.log(cktimeout);
			}
			
			
			disabledDays.push(cktimeout);
		}
			
	    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
	    for (i = 0; i < disabledDays.length; i++) {
	        if($.inArray(y + '-' +(m+1) + '-' + d,disabledDays) != -1) {
	            return [false];
	        }
	    }
	    return [true];
	}




0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.