2013-02-21 96 views
0

我在两个字段上有一个日期选择器: 开始日期和结束日期。选择开始日期后,结束日期datepicker将更新最小和最大日期选项以及yearRange选项。JQuery Datepicker下拉式仅显示一年的年份

如果我选择29/12/2013,用户只能从这里选择10天结束日期。

因此,我打开日期选择器的结束日期,它的yearRange为2013:2014,changeYear选项设置为true。

但年下拉列表只显示2013. 2014年不在列表中。

如果我点击日期选择器的右箭头(下一步)以移至下一年,则会移至2014年,然后如果我点击年份下拉列表,则会显示2014年。

$(“#EndDate”)。datepicker(“option”,“yearRange”,'2013:2014');

如果在此代码前面放置警报,则年度下拉菜单会按预期显示2013年和2014年。

我使用JQuery 1.4.4

回答

1

This question似乎为解决同一个问题。看起来您可能没有指定日期范围的正确格式。

+0

我相信这是从阅读JQuery的文档的yearRange正确的格式。如果没有,任何人都可以告诉我正确的格式,以及为什么它会出现,如果我在我的问题的代码显示前面发出警报.... – user1079925 2013-02-21 19:32:46

+1

你甚至看过我提供的链接吗? – 2013-02-21 19:33:03

+0

@Johnathan Wood - 我看过你突出显示的问题。但是,我已经使用了文档中列出的格式,并且年份下拉列表不会更新。但是,如果我提醒一下,年份下拉列表包含正确的年份。 – user1079925 2013-02-22 17:49:33

0

找到了解决办法:

原代码设置changeYear选项设置为true改变yearRange选项之前 - 这将不显示在下拉今年的榜单更新范围:

$("#EndDate").datepicker("option", "changeYear", true); 
$("#EndDate").datepicker("option", "yearRange", yearRange); 

配售changeYear yearRange选项后的选项代码解决了问题。现在,下拉列表按预期显示年的范围。因此,排序很重要。

$("#EndDate").datepicker("option", "yearRange", yearRange); 
    $("#EndDate").datepicker("option", "changeYear", true); 
-1

试试这个:

$(function() { 
     $("#txtDateofBirth").datepicker({ 

      changeYear: true, 
      dateFormat: 'dd/mm/yy', 
      yearRange: '1970:2025' 
     } 
     ); 
    }); 
相关问题