자바스크립트 자동출력 관련 질문 입니다. 채택완료
그누보드 달력을 쓰고 있는데 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); 는 제대로된 날짜 형식을 만들지 못합니다.
다음과 같이 요일을 구하는 것을 추천합니다.
※ 크롬 브라우저에서 개발자 도구를 열고, 확인하면 어느 부분에서 에러가 나는지 확인해나가면서 고칠 수 있습니다.
$(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개
댓글을 작성하려면 로그인이 필요합니다.
이거 아닌가요???
dt2.getDay()
가 아니고
dt.getDay()
아닌가요??
답변에 대한 댓글 1개
datepicker Onselect 가 성공했는데 결국은 input 값을 건들어 줘야 인식하더라구요 ㅠㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
근데 이렇게 해도 당초 달력 스킨의 날짜를 클릭하면 wr_1 값이 input 에 자동으로 입력되기 때문에 그런지 요일이 출력되지 않고 다른 이벤트를 줘야 요일이 튀어나오더군요 ㅠ.ㅜ
그래도 절반은 성공했습니다! 감사용~^^