jQuery UI datepicker:限制某些月份(不是几个月的范围)

时间:2013-06-25 18:30:38

标签: jquery jquery-ui jquery-ui-datepicker

我希望限制jQuery UI datepicker

的月份

例如,我想阻止用户在任何给定年份中选择4月,8月和10月。我有几个月的数字,例如4,8,10。

1 个答案:

答案 0 :(得分:2)

我希望你尝试了一些东西,但我有一些空闲的时间,所以我理解你要禁用几个月的使用。

您可以使用jQuery UI Datepicker的beforeShowDay事件,并根据月份检查某一天是否处于活动状态,并检查是否在数组中。

要检查数组,我使用jQuery inArray方法。

beforeShowDay

  

默认值:null将日期作为参数且必须的函数   返回一个数组:[0]:true / false表示是否这样   date是可选择的1:要添加到日期单元格的CSS类名称   “”用于默认演示文稿2:可选的弹出工具提示   此日期之前在datepicker中为每一天调用该函数   它会显示出来。

jQuery.inArray

  

描述:在数组中搜索指定的值并返回   它的索引(如果没有找到则为-1)。

代码示例:

monthArray = [0, 3, 6]

$(function () {
    $("#datepicker").datepicker({
        beforeShowDay: function (date) {
            //getMonth()  is 0 based
            if ($.inArray(date.getMonth(), monthArray) > -1) {
                return [false, ''];
            }
            return [true, ''];
        }
    });
});

这是一个工作小提琴:http://jsfiddle.net/APP5N/