JQuery Datepicker - 将datepicker限制为特定的月份和工作日

时间:2015-04-07 14:49:08

标签: jquery datepicker

我使用以下代码将日期选择器限制为6月到9月:

    <script type="text/javascript">
jQuery(function ($) { 
        monthArray = [0, 1, 2, 3, 4, 9, 10, 11];
        $("#input_5_5").datepicker({ 
            minDate: 1, 
            dateFormat: 'dd/mm/yy',
             beforeShowDay: function (date) { 
              if ($.inArray(date.getMonth() , monthArray) > -1) {
            return [false, ''];
        }
        function (d) {
            return [true, ''];
        }
    }
    });
});
</script>

它做了我假装的,除了6月到9月之外的所有其他月份都禁用了。现在,我已经尝试调整它,以便它只使用var'days'和函数显示特定的工作日:

<script type="text/javascript">
jQuery(function ($) { 
        monthArray = [0, 1, 2, 3, 4, 9, 10, 11];
         var days = [2, 4, 6]; 
        $("#input_5_5").datepicker({ 
            minDate: 1, 
            dateFormat: 'dd/mm/yy',
             beforeShowDay: function (date) { 
              if ($.inArray(date.getMonth() , monthArray) > -1) {
            return [false, ''];
        }
        function (d) {
            return [$.inArray(d.getDay(), days) > -1, ''];
        }
    }
    });
});
</script>

但它不起作用。我尝试了不同的方法,但我似乎无法让它发挥作用。有人能帮我一把吗?谢谢!

1 个答案:

答案 0 :(得分:0)

<强> Demo

您可以将这两个条件结合起来,

beforeShowDay: function (date) {
        return [$.inArray(date.getDay(), days) > -1 && $.inArray(date.getMonth(), monthArray) > -1]
    }

jQuery(function ($) {
    var monthArray = [0, 1, 2, 3, 4, 9, 10, 11];
    var days = [2, 4, 6];
    $("#input_5_5").datepicker({
        minDate: 1,
        dateFormat: 'dd/mm/yy',
        beforeShowDay: function (date) {
            return [$.inArray(date.getDay(), days) > -1 && $.inArray(date.getMonth(), monthArray) > -1]
        }
    });
});