最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - jquery datepicker getMonth() weirdness - Stack Overflow

programmeradmin5浏览0评论

jquery datepicker is a great fun but I am facing a weird error. I am trying to disable some days, ie. 28 October 2009 but 28 November gets disabled on the calendar! Any idea what I am doing wrong here? The disabledDays array variable is a script registered on the server as the closing dates e from database.

<script type="text/javascript">

    $(document).ready(function() {
        $("#datepicker").datepicker(
            {
                dateFormat: 'dd/mm/yy',
                changeYear: false,
                yearRange: '0:+1',
                numberOfMonths: 2,
                firstDay: 1,
                minDate: '0',
                maxDate: '+2m',
                altFormat: 'dd/mm/yy',
                beforeShowDay: DisableClosedDays
            });
    });


    function DisableClosedDays(calendarDate) {
        for (i = 0; i < disabledDays.length; i++) {
            if (calendarDate.getDate() == disabledDays[i][0]
            && calendarDate.getMonth() == disabledDays[i][1]
            && calendarDate.getFullYear() == disabledDays[i][2]) {
                return [false, ''];
            }
        }
        return [true, ''];
    }
</script>





<script type="text/javascript"> 
//<![CDATA[
var disabledDays = [[22,10,2009],[30,10,2009],[12,10,2009]];
//]]>
</script>

jquery datepicker is a great fun but I am facing a weird error. I am trying to disable some days, ie. 28 October 2009 but 28 November gets disabled on the calendar! Any idea what I am doing wrong here? The disabledDays array variable is a script registered on the server as the closing dates e from database.

<script type="text/javascript">

    $(document).ready(function() {
        $("#datepicker").datepicker(
            {
                dateFormat: 'dd/mm/yy',
                changeYear: false,
                yearRange: '0:+1',
                numberOfMonths: 2,
                firstDay: 1,
                minDate: '0',
                maxDate: '+2m',
                altFormat: 'dd/mm/yy',
                beforeShowDay: DisableClosedDays
            });
    });


    function DisableClosedDays(calendarDate) {
        for (i = 0; i < disabledDays.length; i++) {
            if (calendarDate.getDate() == disabledDays[i][0]
            && calendarDate.getMonth() == disabledDays[i][1]
            && calendarDate.getFullYear() == disabledDays[i][2]) {
                return [false, ''];
            }
        }
        return [true, ''];
    }
</script>





<script type="text/javascript"> 
//<![CDATA[
var disabledDays = [[22,10,2009],[30,10,2009],[12,10,2009]];
//]]>
</script>
Share Improve this question edited May 1, 2012 at 0:10 Joe Doyle 6,3833 gold badges44 silver badges45 bronze badges asked Oct 10, 2009 at 12:49 DavidDavid 8303 gold badges13 silver badges25 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

Months in Javascript run from 0-11 not 1-12.

发布评论

评论列表(0)

  1. 暂无评论