datepicker 문의드립니다. (주말만선택 or 평일비활성)

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
datepicker 문의드립니다. (주말만선택 or 평일비활성)

QA

datepicker 문의드립니다. (주말만선택 or 평일비활성)

본문

예약게시판에서 사용중인데요. 

평일을 비활성화하고 토,일만 선택할 수 있게 하고 싶은데

잘 안됩니다... 구글링으로 찾아봐도 제가 원하는건 잘 안보이네요..

 

아래는 제 datepicker.php 소스입니다.

// 주말만선택코드 ==> 요부분은 구글로 찾아서 넣어봤는데

잘 작동안해서요 ㅠㅠ 

도움부탁드립니다.

 

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
add_stylesheet('<link type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" />', 0);
add_stylesheet('<link type="text/css" href="'.G5_PLUGIN_URL.'/jquery-ui/style.css">', 0);
?>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<script>

// 주말만선택코드
$(function() {
        $('#datepicker').datepicker({ 
            dateFormat: "yy-mm-dd",
            regional: "ko",
            beforeShowDay: function(date){
                var day = date.getDay();
                return [(day != 1 && day != 2 && day != 3 && day != 4 && day != 5)];
            }            
        });    
});
$(function(){
   // 날짜지정
    var disabledDays = ["2021-5-19"];
    // 특정일선택막기
    function disableAllTheseDays(date) {
        var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
        for (i = 1; i < disabledDays.length; i++) {
            if($.inArray(y + '-' +(m+1) + '-' + d,disabledDays) != -1) {
                return [false];
            }
        }
        return [true];
    }
    $("#date_wr_1").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy-mm-dd",
        showButtonPanel: true,
        yearRange: "c-99:c+99",
        minDate: "+0d;",
        maxDate: "+365d;",
        beforeShowDay: disableAllTheseDays
    });
});
jQuery(function($){
    $.datepicker.regional["ko"] = {
        closeText: "닫기",
        prevText: "이전달",
        nextText: "다음달",
        currentText: "오늘",
        monthNames: ["1월(JAN)","2월(FEB)","3월(MAR)","4월(APR)","5월(MAY)","6월(JUN)", "7월(JUL)","8월(AUG)","9월(SEP)","10월(OCT)","11월(NOV)","12월(DEC)"],
        monthNamesShort: ["1월","2월","3월","4월","5월","6월", "7월","8월","9월","10월","11월","12월"],
        dayNames: ["일","월","화","수","목","금","토"],
        dayNamesShort: ["일","월","화","수","목","금","토"],
        dayNamesMin: ["일","월","화","수","목","금","토"],
        weekHeader: "Wk",
        dateFormat: "yymmdd",
        firstDay: 0,
        isRTL: false,
        showMonthAfterYear: true,
        yearSuffix: ""
    };
    $.datepicker.setDefaults($.datepicker.regional["ko"]);
});
</script>

이 질문에 댓글 쓰기 :

답변 1


 
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
add_stylesheet('<link type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" />', 0);
add_stylesheet('<link type="text/css" href="'.G5_PLUGIN_URL.'/jquery-ui/style.css">', 0);
?>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<script>
jQuery(function($){
 
        $('#datepicker').datepicker({ 
            dateFormat: "yy-mm-dd",
            regional: "ko",
            beforeShowDay: function(date){
                var day = date.getDay();
                return [(day != 1 && day != 2 && day != 3 && day != 4 && day != 5)];
            }            
        });    
 
   // 날짜지정
    var disabledDays = ["2021-5-19"];
    // 특정일선택막기
    function disableAllTheseDays(date) {
        var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
        for (i = 1; i < disabledDays.length; i++) {
            if($.inArray(y + '-' +(m+1) + '-' + d,disabledDays) != -1) {
                return [false];
            }
        }
        return [true];
    }
    $("#datepicker").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy-mm-dd",
        showButtonPanel: true,
        yearRange: "c-99:c+99",
        minDate: "+0d;",
        maxDate: "+365d;",
        beforeShowDay: disableAllTheseDays
    });

 
    $.datepicker.regional["ko"] = {
        closeText: "닫기",
        prevText: "이전달",
        nextText: "다음달",
        currentText: "오늘",
        monthNames: ["1월(JAN)","2월(FEB)","3월(MAR)","4월(APR)","5월(MAY)","6월(JUN)", "7월(JUL)","8월(AUG)","9월(SEP)","10월(OCT)","11월(NOV)","12월(DEC)"],
        monthNamesShort: ["1월","2월","3월","4월","5월","6월", "7월","8월","9월","10월","11월","12월"],
        dayNames: ["일","월","화","수","목","금","토"],
        dayNamesShort: ["일","월","화","수","목","금","토"],
        dayNamesMin: ["일","월","화","수","목","금","토"],
        weekHeader: "Wk",
        dateFormat: "yymmdd",
        firstDay: 0,
        isRTL: false,
        showMonthAfterYear: true,
        yearSuffix: ""
    };
    $.datepicker.setDefaults($.datepicker.regional["ko"]);
})
</script>

 
<p>Date: <input type="text" id="datepicker"></p>
 

 

 

$('#datepicker') 이부분을
$("#date_wr_1") 이걸로 싹 변경하세요.
그리고
 $("#date_wr_1").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy-mm-dd",
        showButtonPanel: true,
        yearRange: "c-99:c+99",
        minDate: "+0d;",
        maxDate: "+365d;",
        beforeShowDay: disableAllTheseDays
    });
이부분을

 $("#date_wr_1").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy-mm-dd",
        showButtonPanel: true,
        yearRange: "c-99:c+99",
        minDate: "+0d;",
        maxDate: "+365d;",
    beforeShowDay: function(date){
var day = date.getDay();
return [(day != 1 && day != 2 && day != 3 && day != 4 && day != 5)];
}
    });

이렇게 바꿔주세요.

채택 당연합죠! ^^
아참 그런데 이미 지난날짜는 원래 비활성화였지만 지금은 지난날짜도 활성화되어 있는데 이건 어떻게 고치나요? 안고쳐도 상관은 없는데 보기가 좀 그래서요ㅎㅎ

$("#date_wr_1").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "yy-mm-dd",
        showButtonPanel: true,
        yearRange: "c-99:c+99",
        minDate: "+0d;",
        maxDate: "+365d;",
        beforeShowDay: function(date){
               
                var day = date.getDay();
                return [(day != 1 && day != 2 && day != 3 && day != 4 && day != 5 && disableAllTheseDays(date))];
            }   
    });

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

회원로그인

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