jQuery UI:Datepicker将年份范围下拉至100年

Ian*_*ink 298 jquery jquery-ui jquery-ui-datepicker

使用Datepicker,默认情况下,年份下拉列表仅显示10年.用户必须单击去年才能获得更多年份.

我们如何将初始范围设置为100年,以便用户默认情况下会看到一个大型列表?

在此输入图像描述

    function InitDatePickers() {
        $(".datepicker").datepicker({
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            maxDate: '@maxDate',
            minDate: '@minDate'
        });
    }
Run Code Online (Sandbox Code Playgroud)

ᾠῗᵲ*_*ᵲᄐᶌ 563

您可以在此处使用此选项设置年份范围http://api.jqueryui.com/datepicker/#option-yearRange

yearRange: '1950:2013', // specifying a hard coded year range
Run Code Online (Sandbox Code Playgroud)

或者这样

yearRange: "-100:+0", // last hundred years
Run Code Online (Sandbox Code Playgroud)

来自Docs

默认值:"c-10:c + 10"

年份下拉列表中显示的年份范围:相对于当前年份("-nn:+ nn"),相对于当前选定年份("c-nn:c + nn"),绝对值("nnnn: nnnn"),或这些格式的组合("nnnn:-nn").请注意,此选项仅影响下拉列表中显示的内容,以使用minDate和/或maxDate选项限制可以选择的日期.

  • 在我意识到需要"+"符号之前遇到了麻烦. (5认同)
  • @Obsidian`c`实际上表示“当前所选年份”,而不是当前年份http://api.jqueryui.com/datepicker/#option-yearRange (3认同)
  • @TechieBrij这很有用,但是应该是`c-100:c + 10` (2认同)

小智 18

这对我很有用.

ChangeYear: -设置为true时,表示可以选择当前日历中指示的上个月或下个月的单元格.此选项与options.showOtherMonths设置为true一起使用.

YearRange: -指定年份下拉列表中的年份范围.(默认值:" - 10:+10")

例:-

$(document).ready(function() {
    $("#date").datepicker({
    changeYear:true,
    yearRange: "2005:2015"
    });
});
Run Code Online (Sandbox Code Playgroud)

参考: - 在jquery datepicker中设置年份范围


小智 6

我这样做:

var dateToday = new Date();
var yrRange = dateToday.getFullYear() + ":" + (dateToday.getFullYear() + 50);
and then
yearRange : yrRange
Run Code Online (Sandbox Code Playgroud)

50当前年份的范围在哪里。


San*_*ath 6

您可以在 jQuery UI datepicker 中使用此选项设置年份范围:

yearRange: "c-100:c+0", // last hundred years and current years

yearRange: "c-100:c+100", // last hundred years and future hundred years

yearRange: "c-10:c+10", // last ten years and future ten years
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的例子 (2认同)