有没有办法将复杂的日期范围添加到jqueryUI DatePicker?

时间:2012-07-27 18:57:33

标签: jquery-ui jquery-ui-datepicker

我已将Datepickers添加到旧版网络应用的多个字段中。一个这样的文本框是到期日期字段。当用户不希望某些内容过期时,他们会将日期设置为12/31/9999。出于这个原因,我希望我在Datepicker中的yearRange有点像“2012 thru 2022,AND 9999”。

将范围从现在设置为9999很容易,但这会创建一个带有数千个选项的年份下拉菜单。我宁愿在接下来的10年中选择10个选项,然后在9999选择第11个选项。

我尝试使用今年的年份,但是Datepicker似乎不懂逗号。有什么想法吗?

yearRange: "-0:+10,9999"

1 个答案:

答案 0 :(得分:0)

使用this post的帮助,我只是将范围保留为“-0:+10”,然后我添加了一个“从不”按钮,如下所示:

beforeShow: function( input ) {
    setTimeout(function() {
        var buttonPane = $(input)
            .datepicker("widget")
            .find(".ui-datepicker-buttonpane");

        var btn = $('<BUTTON class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all">Never</BUTTON>');
        btn
            .unbind("click")
            .bind("click", function () {
                $(input)
                    .datepicker("setDate", new Date(9999,11,31))
                    .datepicker("hide");
            });

        btn.appendTo(buttonPane);

    }, 1 );
}

注意 - 这是我必须使用的日期才能正确显示12/31/9999。