자바스크립트 자동출력 관련 질문 입니다.
본문
그누보드 달력을 쓰고 있는데 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
1) onClose 와 onSelect 사이에 ',' 가 빠져있습니다.
2) var dt = new Date(txt); 는 제대로된 날짜 형식을 만들지 못합니다.
다음과 같이 요일을 구하는 것을 추천합니다.
※ 크롬 브라우저에서 개발자 도구를 열고, 확인하면 어느 부분에서 에러가 나는지 확인해나가면서 고칠 수 있습니다.
<script>
$(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]);
}
});
});
</script>
이거 아닌가요???
dt2.getDay()
가 아니고
dt.getDay()
아닌가요??
!-->!-->