datepicker 처음 열리는 달이 다음달이 될수있도록

datepicker 처음 열리는 달이 다음달이 될수있도록

QA

datepicker 처음 열리는 달이 다음달이 될수있도록

본문

datepicker에서 처음 열리는 달이 오늘이 있는 이번달이 아니고
"10월"이나 "2026년 1월"이나 이렇게 특정 달로 지정을 할수 있으면 좋겠습니다.

방법을 아시는 분의 조언을 기다립니다.
감사합니다.

이 질문에 댓글 쓰기 :

답변 1

jQuery UI Datepicker에서는 처음 달력을 열었을 때 표시되는 달을 특정 연도/월로 지정할 수 있습니다.
이때 defaultDate 옵션을 활용하면 됩니다.


1. 특정 월로 시작하기 (예: 10월)

<input type="text" id="datepicker">
<script>
$(function() {
    $("#datepicker").datepicker({
        dateFormat: "yy-mm-dd",
        defaultDate: new Date(new Date().getFullYear(), 9, 1) // 10월 (0=1월, 9=10월)
    });
});
</script>

? 설명

  • new Date(연도, 월-1, 일) 형식

  • new Date().getFullYear() → 올해 연도

  • 910월 (0부터 시작)


2. 특정 연도·월로 시작하기 (예: 2026년 1월)

<input type="text" id="datepicker">
<script>
$(function() {
    $("#datepicker").datepicker({
        dateFormat: "yy-mm-dd",
        defaultDate: new Date(2026, 0, 1) // 2026년 1월
    });
});
</script>

3. 현재 날짜는 유지하면서 특정 달로만 열기

만약 오늘 날짜는 선택값으로 유지하되, 달력만 특정 달로 열고 싶으면 setDate로 현재 날짜를 유지하고 gotoDate로 화면만 이동합니다.

<input type="text" id="datepicker">
<script>
$(function() {
    $("#datepicker").datepicker({
        dateFormat: "yy-mm-dd"
    }).datepicker("setDate", new Date())        // 선택 날짜를 오늘로
      .datepicker("option", "beforeShow", function() {
          $(this).datepicker("setDate", new Date()); // 선택값 유지
          $(this).datepicker("gotoDate", new Date(2026, 0, 1)); // 달력은 2026년 1월로 이동
      });
});
</script>

4. 옵션 요약

옵션 설명 예시
defaultDate 달력이 처음 열릴 때 기본 날짜를 지정 defaultDate: "+1m" (한 달 후)
gotoDate 현재 선택값과는 별개로 달력의 표시 월을 변경 $("#datepicker").datepicker("gotoDate", new Date(2026, 0, 1))
setDate 선택된 값을 지정 $("#datepicker").datepicker("setDate", new Date())

어떤 방식으로 쓰실 건가요?
예를 들어 항상 10월로 시작하지만 선택은 오늘 날짜로 하고 싶다면 세 번째 방식이 가장 적합합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 129,086 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT