2

我有一个 jQuery 日期选择器。我想将默认日期设置为“当前月份,当前日期,(当前年份-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/

4

3 回答 3

5

尝试

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

演示:小提琴

于 2013-03-19T04:26:08.073 回答
1

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

我怀疑你想要这个:

$('#BirthDate').datepicker({ 
   changeYear: true, 
   changeMonth: true, 
   yearRange: '1920:' + year, 
   defaultDate: new Date(year,d.getMonth(),d.getDay())
});
于 2013-03-19T04:24:10.973 回答
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())
   });
于 2013-03-19T04:18:17.480 回答