【问题标题】:Jquery datepicker year rangeJquery datepicker 年份范围
【发布时间】:2015-09-18 06:32:37
【问题描述】:

我在我的 asp.net 网站中使用 jquery 日期选择器插件。 我将默认日期设置为 1900-01-01,将年份范围设置为年份范围至 1900:2020。问题是当我从选择器中选择一个日期时,它会在文本框中显示日期。这可以。但是,当我再次选择年份时,起始年份已经删除了比我刚才选择的年份少的年份。 示例:如果我选择 2000-01-01 并再次选择年份,它将仅显示大于 2000 的年份。为什么这样,我认为是 asp.net 的问题,因为我已经尝试在 Jsfiddle 中运行 javascript 并且正在运行。

        $(function() {
             var today = new Date();
             var year = today.getFullYear();
             
            $( "#<%=txtDOB.ClientID %>" ).attr('readonly', 'true');
            $( "#<%=txtDOB.ClientID %>" ).datepicker({
              defaultDate: "1900-01-01",
                changeMonth: true,
                changeYear: true,
                yearRange: '1900:' + "'" + year + "'" ,
                maxDate: today,
                numberOfMonths: 1,
                dateFormat: "dd/M/yy",
                onClose: function( selectedDate ) {
                $( "#<%=txtDOB.ClientID %>" ).datepicker( "option", "minDate", selectedDate );
                }
            });   
            });

【问题讨论】:

  • 这是正确的行为,因为在关闭事件中您正在更新“minDate”,因此下拉列表中可能的年份受此选项的限制。同样在fiddle:jsfiddle.net/dao6xqv7这是一个奇怪的UI用法,你想做什么?

标签: jquery jquery-ui


【解决方案1】:

我想知道这里的这件事是否造成了问题。

$( "#<%=txtDOB.ClientID %>" ).datepicker( "option", "minDate", selectedDate );

试试改成

$( "#<%=txtDOB.ClientID %>" ).datepicker( "option", "defaultDate", selectedDate );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    相关资源
    最近更新 更多