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

时间:2013-03-19 04:13:31

标签: jquery datepicker

我有一个jQuery datepicker。我想将默认日期设置为“当前月份,当前日期,(当前年份-18)”但我在设置defaultDate属性时遇到问题。显示的默认年份是1920年,据说是1995年。任何人都可以帮忙吗?

我的代码:

HTML

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

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});

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

3 个答案:

答案 0 :(得分:4)

尝试

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

演示:Fiddle

答案 1 :(得分:1)

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

我怀疑你想要这个:

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

答案 2 :(得分:0)

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

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())
   });