everyday com-eat
작성일
2022. 11. 3. 11:22
작성자
갱수터
728x90

fullcalendar 날짜 클릭 이벤트 시

//날짜 선택
var startDateStr = $('#calendarStartDate').val();
var selectDate = new Date(startDateStr);

//선택한 날짜 기준 한달 정보 구하기
var getMonthArr = function(date){
		
	//기준 달의 1일 날짜
	var firstDay = new Date(date.getFullYear(),date.getMonth(),1);
	var firstIdx = firstDay.getDay();
	
	//다음달 1일 구해서 마지막 날 구하기
	var nextMonthDate = new Date(date.getFullYear(), date.getMonth()+1, 1);
	var lastDay = new Date(nextMonthDate);
	lastDay.setDate(nextMonthDate.getDate()-1);
	var lastIdx = lastDay.getDate();
	
	//이차원 배열에 넣기
	var weekArr = [];
	var monthArr = [];
	
	arrStr = date.getFullYear() + '-'
	arrStr += (date.getMonth()<9)?'0'+(date.getMonth()+1):(date.getMonth()+1);
	arrStr += '-';
	
	weekArr[firstIdx] = arrStr + '01';
	for(var i=2; i<=lastIdx; i++){
		
		if(weekArr[6] != null){
			monthArr.push(weekArr);
			weekArr = [];
		}
		weekArr.push(arrStr + ((i>9)?i:'0'+i));
	}
	monthArr.push(weekArr);
	
	return monthArr;
};

// 날짜 데이터 객체 생성
var monthArr = getMonthArr(selectDate);
var monthInfo = {};

for(var i=0; i<monthArr.length; i++){
	for(var j=0; j<monthArr[i].length; j++){
		if(monthArr[i][j] != undefined){
			monthInfo[monthArr[i][j]] = {
				week: i+1,				//주차
				weekDay: j,				//요일(숫자)
				weekDayKr: $.weekDayFn(j)	//요일(한글)
			}
		}
	}
}

// 요일 index -> 한글
$.weekDayFn = function(weekDay){
	switch(weekDay){
	case 0: return '일';
	case 1: return '월';
	case 2: return '화';
	case 3: return '수';
	case 4: return '목';
	case 5: return '금';
	case 6: return '토';
	}									
}

 

728x90

'{ "Hello World!" }; > JavaScript/jQuery' 카테고리의 다른 글

js/id, for 속성에 인덱스 부여하기  (0) 2022.04.12
(jQuery) Ajax  (0) 2022.01.29
(jQuery) 동적바인딩  (0) 2022.01.27
js/ 속성 조작 메서드(prop) 실습  (0) 2022.01.23
(jQuery) 메서드  (0) 2022.01.23