在特定年份结束后停止JqueryUI Datepicker月导航

时间:2014-06-26 06:05:25

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

我使用了JqueryUI日期选择器,我必须添加特定年份的假期列表。

有没有办法在特定年份结束后禁用datepicker的月导航?

例如。如果我要添加2014年的假期列表,那么我想禁用Datepicker的上个月导航(上一个按钮)当选择2014年1月。如果选择了2014年12月,那么我想禁用下个月导航按钮(下一个按钮)。此外,我不想在datepicker上使用ChangeYear / ChangeMonth选项。

我的代码是:

$(document).ready(function () {
    $("#txtHolidayDate").datepicker(
         {
             dateFormat: 'dd/mm/yy'
         });
});

谢谢,

2 个答案:

答案 0 :(得分:0)

您可以尝试使用yearRange中的datepicker选项。

演示:http://jsfiddle.net/GCu2D/203/

JS:

$(document).ready(function () {
    $("#txtHolidayDate").datepicker({
        dateFormat: 'dd/mm/yy',
        yearRange:'2014:2014',
    });
});

此外,您还可以在需要时使用以下设置此选项:

$( ".selector" ).datepicker({ yearRange: "2002:2012" });

答案 1 :(得分:0)

我已将JSFIDDLE限制为将日期范围限制为用户输入的年份。看看吧!

HTML:

<h3>Currently the dates are restricted to year 2014</h3>
Enter Year to restrict date range to:
<input type="text" id="year" size="30" value="2014"/>
<input type="button" id="change_year" value="Change Year">
<br>
Date: <input type="text" id="datepicker" />

JS:

$(function() {
    var year_val = 2014;
    $( "#datepicker" ).datepicker({
        minDate: new Date(year_val, 1 - 1, 1),
        maxDate: new Date(year_val, 11, 31)
    });

    $('#change_year').click(function(){
        if($('#year').val() != "")
        {
            year_val = $('#year').val();
            $( "#datepicker" ).datepicker( "option", "minDate", new Date(year_val, 1 - 1, 1) );
            $( "#datepicker" ).datepicker( "option", "maxDate", new Date(year_val, 11, 31) );
        }
    });
});