반응형
예전에는 한 번에 datepicker를 띄우려고 하지만 원하는 needs가 다르므로.. 내가 생각한 방식은
시작일이 종료일보다 이후면 alert창을 띄우고 종료일과 같게 만들어주고.
시작일이 설정이 되면 종료일은 그 전 날짜를 onClose하여 사용을 못하게 하는 방식!
크게 어려운 건 없었고, 나눠서 if문을 사용하여 날짜 비교를 해주면 끝!
<script>
$(document).ready(function(){
$("#startDate").datepicker({
dateFormat: 'yy-mm-dd' //달력 날짜 형태
,showOtherMonths: true //빈 공간에 현재월의 앞뒤월의 날짜를 표시
,showMonthAfterYear:true // 월- 년 순서가아닌 년도 - 월 순서
,changeYear: true //option값 년 선택 가능
,changeMonth: true //option값 월 선택 가능
,showOn: "both" //button:버튼을 표시하고,버튼을 눌러야만 달력 표시 ^ both:버튼을 표시하고,버튼을 누르거나 input을 클릭하면 달력 표시
,buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif" //버튼 이미지 경로
,buttonImageOnly: true //버튼 이미지만 깔끔하게 보이게함
,buttonText: "선택" //버튼 호버 텍스트
,yearSuffix: "년" //달력의 년도 부분 뒤 텍스트
,monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'] //달력의 월 부분 텍스트
,monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'] //달력의 월 부분 Tooltip
,dayNamesMin: ['일','월','화','수','목','금','토'] //달력의 요일 텍스트
,dayNames: ['일요일','월요일','화요일','수요일','목요일','금요일','토요일'] //달력의 요일 Tooltip
,minDate: "-5Y" //최소 선택일자(-1D:하루전, -1M:한달전, -1Y:일년전)
,maxDate: "+5Y" //최대 선택일자(+1D:하루후, -1M:한달후, -1Y:일년후)
,onClose: function(){
var startDate = $("#startDate").datepicker('getDate');
var endDate = $("#endDate").datepicker('getDate');
if (endDate != null) {
if (startDate > endDate) {
alert("기간을 다시 설정해주세요. \n종료일로 설정됩니다.");
$("#startDate").val($("#endDate").val());
}
}
}
});
$("#endDate").datepicker({
dateFormat: 'yy-mm-dd' //달력 날짜 형태
,showOtherMonths: true //빈 공간에 현재월의 앞뒤월의 날짜를 표시
,showMonthAfterYear:true // 월- 년 순서가아닌 년도 - 월 순서
,changeYear: true //option값 년 선택 가능
,changeMonth: true //option값 월 선택 가능
,showOn: "both" //button:버튼을 표시하고,버튼을 눌러야만 달력 표시 ^ both:버튼을 표시하고,버튼을 누르거나 input을 클릭하면 달력 표시
,buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif" //버튼 이미지 경로
,buttonImageOnly: true //버튼 이미지만 깔끔하게 보이게함
,buttonText: "선택" //버튼 호버 텍스트
,yearSuffix: "년" //달력의 년도 부분 뒤 텍스트
,monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'] //달력의 월 부분 텍스트
,monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'] //달력의 월 부분 Tooltip
,dayNamesMin: ['일','월','화','수','목','금','토'] //달력의 요일 텍스트
,dayNames: ['일요일','월요일','화요일','수요일','목요일','금요일','토요일'] //달력의 요일 Tooltip
,minDate: "-5Y" //최소 선택일자(-1D:하루전, -1M:한달전, -1Y:일년전)
,maxDate: "+5Y" //최대 선택일자(+1D:하루후, -1M:한달후, -1Y:일년후)
,beforeShow: function() {
//get date startDate is set to
var startDate = $("#startDate").datepicker('getDate');
//if a date was selected else do nothing
if (startDate != null) {
$(this).datepicker('option', 'minDate', startDate);
}
}
});
});
반응형
'공부 > JavaScript & Jquery' 카테고리의 다른 글
ERR_INCOMPLETE_CHUNKED_ENCODING 200 오류 (0) | 2022.06.27 |
---|---|
자바스크립트(javascript) 첨부파일 이미지 미리보기 (0) | 2022.06.22 |
form 태그 위치? (feat. table) (0) | 2022.06.07 |
form 블록 가로 정렬 (0) | 2022.05.30 |
datepicker 오류 (0) | 2022.05.27 |