【问题标题】:jQuery UI Datepicker - Date of Birth - Year not being selected correctlyjQuery UI Datepicker - 出生日期 - 未正确选择年份
【发布时间】:2011-08-19 11:27:26
【问题描述】:

我无法让用户在表单上选择正确的出生日期年份。我已经设置了 yearRange 和 changeYear 选项,但选择时仍默认为 2011。

在这里提琴http://jsfiddle.net/allyreid/H94cc/

【问题讨论】:

    标签: jquery forms jquery-ui datepicker


    【解决方案1】:

    我将 yearRange 选项移到了datepicker 选项中,然后添加了changeYear。

    // UI Date Picker
    $(".datepicker").datepicker({
    
        showOn: "both",
        buttonImage: "/images/calendar.png",
        buttonImageOnly: true,
        yearRange: '1910:2010',
        changeYear: true
    });
    

    【讨论】:

    • 刚刚读到我的解决方案只会在下拉列表中设置年份范围,它不会阻止您超出这些日期,如果您切换到下个月,可能是同时使用 @ 987654325@和我的建议是否相互配合?
    • 感谢您的回复。我想使用 changeMonth 选项,使用下拉选择而不是左右箭头,启用此选项后默认为 2011。
    • 如果您设置了defaultDate: new Date(1910,0,1),这将使您进入您的日期范围。不知道如何隐藏箭头。如果您按照马特的建议设置最小值和最大值,请查看hideIfNoPrevNext,一旦您达到范围的末尾,下一个和上一个按钮将不起作用。查看我对您的 jsfiddle 的更新:jsfiddle.net/H94cc/14
    • 在这里感谢您的帮助。剩下的问题是,如果用户选择月份,那么默认情况下它会插入 2011 年。他们必须选择月份、年份和日期才能正确添加。如何更改他们输入日期的顺序?
    • 只有在 2011 年?抱歉,您现在让我感到困惑...作为用户,我将月份更改为 5 月,选择年份为 1980,然后选择 21。这将输入日期为 1980 年 5 月 21 日。我在上面的评论中添加的演示将默认为 1910 年 1 月 1 日。只有到 2011 年才会将年份添加为 2011 年。另一种方法是:给他们 3 个下拉列表,一个代表月,一个代表年,另一个代表天。这可能是您确定他们已经满足您的需求的唯一方法。
    【解决方案2】:

    您阅读过文档吗? http://jqueryui.com/demos/datepicker/#min-max 它甚至给出了一个例子。

    http://jsfiddle.net/H94cc/4/

    http://jsfiddle.net/H94cc/13/

    $(".datepicker").datepicker({
        minDate: new Date(1910,0,1),
        maxDate: new Date(2010,0,1),
        yearRange: '1910:2010' ,
        changeYear: true,
        changeMonth: true
    });
    

    【讨论】:

      猜你喜欢
      • 2012-10-10
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      相关资源
      最近更新 更多