2026, 새로운 도약을 시작합니다.

자바스크립트 자동출력 관련 질문 입니다. 채택완료

그누보드 달력을 쓰고 있는데 datepicker 에 onSelect 이벤트를 쓸려고 하는데

아래 코드로 아무 반응이 없네요;; 뭐가 잘 못 된 걸까요?!

그리고 달력 날짜를 클릭하면 자동으로 wr_1 input 박스에 달력날짜가 yyyymmdd 형식으로

들어가는데 그런 상황에도 아래 코딩이 요일을 제대로 표시해 줄까요?!

 $("#wr_1").datepicker({
            dateFormat: "yymmdd",
            defaultDate: "+1w",
            numberOfMonths: 1,
            changeMonth: true,
            showMonthAfterYear: true ,
            changeYear: true,
            showButtonPanel: true,
            onClose: function(selectedDate) {
                    $("#wr_2").val(selectedDate);
            }
onSelect : function(txt) {
            var dt = new Date(txt);
            var yy = dt.substr(0, 4);
            var mm = dt.substr(4, 2);
            var dd = dt.substr(6);
            var dt2 = yy+"-"+mm+"-"+dd;
            var day = dt2.getDay();
            var yoil = new Array("일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일");
            $("#result").text(yoil[day]);
        }
  }

<표시될 부분>
<input type="text" name="wr_1" value="<?php echo $write['wr_1']; ?>" readonly id="wr_1" required class="frm_input required" size="8" maxlength="8">
<span id="result"></span>

답변 2개

채택된 답변
+20 포인트

1) onClose 와 onSelect 사이에 ',' 가 빠져있습니다.

2)   var dt = new Date(txt); 는 제대로된 날짜 형식을 만들지 못합니다.

다음과 같이 요일을 구하는 것을 추천합니다.

※ 크롬 브라우저에서 개발자 도구를 열고, 확인하면 어느 부분에서 에러가 나는지 확인해나가면서 고칠 수 있습니다.

Copy




$(function() {

    $("#wr_1").datepicker({

        dateFormat: "yymmdd",

        defaultDate: "+1w",

        numberOfMonths: 1,

        changeMonth: true,

        showMonthAfterYear: true ,

        changeYear: true,

        showButtonPanel: true,

        onClose: function(selectedDate) {

            $("#wr_2").val(selectedDate);

        },

        onSelect : function(txt) {

            var date = $(this).datepicker('getDate');

            var day = date.getDay();

            var yoil = new Array("일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일");

            $("#result").text(yoil[day]);

        }

    });

});



로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

네 정말 결정적으로 콤마 , 가 빠져서 작동이 안되는 거였습니다 ㅠ.ㅜ 감사드립니다.
근데 이렇게 해도 당초 달력 스킨의 날짜를 클릭하면 wr_1 값이 input 에 자동으로 입력되기 때문에 그런지 요일이 출력되지 않고 다른 이벤트를 줘야 요일이 튀어나오더군요 ㅠ.ㅜ
그래도 절반은 성공했습니다! 감사용~^^

댓글을 작성하려면 로그인이 필요합니다.

이거 아닌가요???

Copy


dt2.getDay()

가 아니고

Copy


dt.getDay()

아닌가요??

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변 감사드립니다 ㅠ.ㅜ 결국은 onclick 이벤트로 할 수 밖에 없었습니다;;
datepicker Onselect 가 성공했는데 결국은 input 값을 건들어 줘야 인식하더라구요 ㅠㅜ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고