jQuery Datepicker 将默认日期设置为“当前月份,当前日期,(当前年份-18)”

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/15491367/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 15:11:18  来源:igfitidea点击:

jQuery Datepicker Set Default Date to "current month, current day, (current year-18)"

jquerydatepicker

提问by Jobert Enamno

I have a jQuery datepicker. I want to set the default date to "current month, current day, (current year-18)" but I have issue when I set the defaultDate property. The default year displayed is 1920 which is supposedly 1995. Can anyone help?

我有一个 jQuery 日期选择器。我想将默认日期设置为“当前月份,当前日期,(当前年份-18)”,但是当我设置 defaultDate 属性时出现问题。显示的默认年份是 1920 年,应该是 1995 年。有人可以帮忙吗?

My code:

我的代码:

HTML

HTML

<input type="text" class="datepicker minimumSize" name="BirthDate" id="BirthDate"  readonly="readonly"/>

JavaScript

JavaScript

var d = new Date();
var year = d.getFullYear() - 18;
$('#BirthDate').datepicker({ changeYear: true, changeMonth: true, yearRange: '1920:' + year + '', defaultDate: d.getMonth()+d.getDay()+year});

JSFiddlehttp://jsfiddle.net/jobzky/zg8Le/

JSFiddle http://jsfiddle.net/jobzky/zg8Le/

回答by Arun P Johny

Try

尝试

var d = new Date();
var year = d.getFullYear() - 18;
d.setFullYear(year);
$('#BirthDate').datepicker({ changeYear: true, changeMonth: true, yearRange: '1920:' + year + '', defaultDate: d});

Demo: Fiddle

演示:小提琴

回答by Cfreak

In your fiddle you have defaultYearwhich is not a valid option. Here you have defaultDateand by the way you're adding the day month and year together (also not likely what you mean) it seems you want to make it the date.

在你的小提琴中,你有defaultYear这不是一个有效的选择。在这里defaultDate,顺便说一下,您将月份和年份加在一起(也不太可能是您的意思),似乎您想将其设为日期。

I suspect you want this instead:

我怀疑你想要这个:

$('#BirthDate').datepicker({ 
   changeYear: true, 
   changeMonth: true, 
   yearRange: '1920:' + year, 
   defaultDate: new Date(year,d.getMonth(),d.getDay())
});

回答by PSR

try this .This will solve your problem

试试这个。这将解决你的问题

var d = new Date();
var year = d.getFullYear() - 18 ;

$('#BirthDate').datepicker({ 
    changeYear: true,
    changeMonth: true,
    yearRange: '1920:' + year, 
   defaultDate: new Date(year, d.getMonth(), d.getDate())
   });