jQuery UI DatePicker显示错误的日期

时间:2012-03-08 15:29:33

标签: javascript jquery jquery-ui datepicker uidatepicker

我有一个带有以下参数的jquery UI DatePicker:

changeMonth: true,
changeYear: true,
yearRange: "-16:-1",
dateFormat: 'dd-mm-yy'

它只显示1996年至2011年。然而,当我第一次选择日期时,它奇怪地显示为08-03-2012。 2012年甚至不是选择日期选择器的选项,但这是在我的文本框中生成的日期。

如果我再次选择日期,则会正确显示 - 这只是第一次出现。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

您可以在此范围内设置默认日期,如下所示:

<script type="text/javascript">
$(function() {               
    $("#birthdate" ).datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: "-16:-1",
        dateFormat: 'dd-mm-yy',
        defaultDate: '01-01-1996'
    });
});
</script>

答案 1 :(得分:0)

以下是另一种设置范围第一年的默认日期的方法。

<script type="text/javascript">
var default_date = new Date(); //Create a new date object
default_date.setYear(date.getYear() - 16); //Substract the current year with the first year of the range

$(function() {               
    $("#birthdate" ).datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: "-16:-1",
        dateFormat: 'dd-mm-yy',
        defaultDate: default_date 
    });
});
</script>
相关问题