테스트 사이트 - 개발 중인 베타 버전입니다

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

마일드스카이 4년 전 조회 3,306

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

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

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

 

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

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

잘 작동안해서요 ㅠㅠ 

도움부탁드립니다.

 

 

</p>

<p><?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>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);</p>

<p>?></p>

<p><script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>

<script></p>

<p>

// 주말만선택코드

$(function() {</p>

<p>        $('#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)];

            }            

        });    

});</p>

<p>$(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

    });

});</p>

<p>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개

채택된 답변
+20 포인트
핑크빈
4년 전

</p>

<p> </p>

<p><?php</p>

<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>add_stylesheet('<link type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" />', 0);</p>

<p>add_stylesheet('<link type="text/css" href="'.G5_PLUGIN_URL.'/jquery-ui/style.css">', 0);</p>

<p>?></p>

<p><script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script></p>

<p><script></p>

<p>jQuery(function($){</p>

<p> </p>

<p>        $('#datepicker').datepicker({ </p>

<p>            dateFormat: "yy-mm-dd",</p>

<p>            regional: "ko",</p>

<p>            beforeShowDay: function(date){</p>

<p>                var day = date.getDay();</p>

<p>                return [(day != 1 && day != 2 && day != 3 && day != 4 && day != 5)];</p>

<p>            }            </p>

<p>        });    </p>

<p> </p>

<p>   // 날짜지정</p>

<p>    var disabledDays = ["2021-5-19"];</p>

<p>    // 특정일선택막기</p>

<p>    function disableAllTheseDays(date) {</p>

<p>        var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();</p>

<p>        for (i = 1; i < disabledDays.length; i++) {</p>

<p>            if($.inArray(y + '-' +(m+1) + '-' + d,disabledDays) != -1) {</p>

<p>                return [false];</p>

<p>            }</p>

<p>        }</p>

<p>        return [true];</p>

<p>    }</p>

<p>    $("#datepicker").datepicker({</p>

<p>        changeMonth: true,</p>

<p>        changeYear: true,</p>

<p>        dateFormat: "yy-mm-dd",</p>

<p>        showButtonPanel: true,</p>

<p>        yearRange: "c-99:c+99",</p>

<p>        minDate: "+0d;",</p>

<p>        maxDate: "+365d;",</p>

<p>        beforeShowDay: disableAllTheseDays</p>

<p>    });</p>

<p>

 </p>

<p>    $.datepicker.regional["ko"] = {</p>

<p>        closeText: "닫기",</p>

<p>        prevText: "이전달",</p>

<p>        nextText: "다음달",</p>

<p>        currentText: "오늘",</p>

<p>        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)"],</p>

<p>        monthNamesShort: ["1월","2월","3월","4월","5월","6월", "7월","8월","9월","10월","11월","12월"],</p>

<p>        dayNames: ["일","월","화","수","목","금","토"],</p>

<p>        dayNamesShort: ["일","월","화","수","목","금","토"],</p>

<p>        dayNamesMin: ["일","월","화","수","목","금","토"],</p>

<p>        weekHeader: "Wk",</p>

<p>        dateFormat: "yymmdd",</p>

<p>        firstDay: 0,</p>

<p>        isRTL: false,</p>

<p>        showMonthAfterYear: true,</p>

<p>        yearSuffix: ""</p>

<p>    };</p>

<p>    $.datepicker.setDefaults($.datepicker.regional["ko"]);</p>

<p>})</p>

<p></script></p>

<p>

 </p>

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

<p> </p>

<p>

 

 

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

답변에 대한 댓글 9개

마일드스카이
4년 전
필립스님 댓글 감사합니다.
근데 여전히 작동 안되요ㅡ.ㅜ
P
Phillips
4년 전
전체소스를 주실레요.
제가해본결과 제가드린소스는 잘됩니다.
마일드스카이
4년 전
전체소스는 어떤거인가요?
plugin폴더에 jquery-ui폴더 안에 datepicker.php밖에 없네요.
게시판스킨이 있어야 할까요?
P
Phillips
4년 전
url 줘보세요.
P
Phillips
4년 전
$('#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)];
}
});

이렇게 바꿔주세요.
마일드스카이
4년 전
헉.. 이제 잘 됩니다ㅎㅎ
필립스님 고맙습니다 꾸벅(__)
P
Phillips
4년 전
채택부탁드려요 ㅎ
마일드스카이
4년 전
채택 당연합죠! ^^
아참 그런데 이미 지난날짜는 원래 비활성화였지만 지금은 지난날짜도 활성화되어 있는데 이건 어떻게 고치나요? 안고쳐도 상관은 없는데 보기가 좀 그래서요ㅎㅎ
P
Phillips
4년 전
$("#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))];
}
});

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

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

로그인