2012-03-08 88 views
3

我有一個jQuery UI的DatePicker以下參數:jQuery UI的DatePicker的顯示錯誤的日期

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

它只會正確顯示1996年多年直到2011年。然而,當我選擇一個日期,第一次,它奇怪地顯示爲08-03-2012。 2012年甚至不是日期選擇器中的選擇選項,但是這是在我的文本框中生成的日期。

如果我再次選擇一個日期,它會正確顯示 - 這隻發生在第一次。

任何想法?

回答

5

您可以在您的範圍內默認的日期是這樣的:

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

謝謝 - 我知道我可以這樣做,但我不認爲它會採取這種奇怪的方式,除非我指定了一個日期。 – 2012-03-08 15:46:48

+0

默認日期,除非你指定的日期是當前日期 – kleinohad 2012-03-08 15:51:08

+0

感謝您清除:) – 2012-03-08 15:54:49

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>