我正在使用jQuery UI Datepicker这些选项:
$('#birth_date').datepicker({
changeMonth: true,
changeYear: true,
minDate: new Date(-2206281600*1000),
maxDate: new Date(1298653687*1000),
yearRange: '1900:2011'
});
效果很好。月份和年份显示为2个并排<select>
框。问题是,我们只在2011年2月。所以当用户输入他们的出生日期,比如12月,那个月还没有。他们必须先选择他们的年份,然后才能选择月份。
我怎样才能显示所有12个月,即使这些月份不是当年的有效选项?
答案 0 :(得分:2)
对于仍然在寻找的人,我最终使用defaultDate来解决这个问题:
$( ".selector" ).datepicker({
changeMonth: true,
changeYear: true,
minDate: '-100Y', //100 Years Old
maxDate: '0' //Today
defaultDate: '-1Y', //Default to One Year Ago to show 12 months
yearRange: '-100:+0' //Show 100
});
它仍然限制了日期范围,因此没有人可以在将来选择日期,并且不依赖于用户按特定顺序输入。
答案 1 :(得分:0)
使用numberOfMonths显示所有12个月。
$('#birth_date').datepicker({
numberOfMonths: 12
});
答案 2 :(得分:0)
您可能在今年中旬将maxDate设置为某些日期。假设您将其设置为2020年10月21日。如果下拉列表中的年份是2020年,则由于maxDate限制,您将无法选择11月或12月。如果将年份更改为2020年之前的任何年份(而非minDate年),则可以选择所有12个月。如果选择“ minYear”,则由于minDate限制,不会显示1月-9月。这是预期的功能。