2012-11-15 41 views
1

我有以下代碼附加了jQuery UI日期選擇器窗口小部件的輸入字段:jQuery UI的日期選擇器顯示選定的值不正確

console.log($("#profileDialog .date-picker").val()); 
    $("#profileDialog .date-picker").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     dateFormat: 'yy-mm-dd', 
     yearRange: "-115:-2", 
     defaultDate: $("#profileDialog .date-picker").val() 
    }); 

控制檯日誌正確地輸出該值(例如:11/1/1955 12:00:00 AM),但當我點擊輸入字段時,日期選擇器會顯示我選擇的日期April 17 1897

任何想法,爲什麼會發生這種情況?

+0

無需修改jQuery的UI datepipcker只顯示日期,而不是一個時間。您的控制檯顯示您輸入到輸入字段的默認日期。改變日期後,你會失去時間。至於「1897年4月17日」格式,當你將其設置爲「yy-mm-dd」時,我無法複製它。你能創建一個這樣做的jsFiddle嗎? – j08691

+0

只是一個猜測,但你認爲這可能是與'yearRange'有關嗎? '2012-115 = 1897' – billyonecan

+0

我幾乎可以確定它是導致問題的'dateFormat'或'yearRange'。這是一個小提琴:http://jsfiddle.net/NZtVW/。日期是從服務器(ASP.NET MVC)發送的,所以我不知道該如何解決它。 – Kassem

回答

2

你看到1897像當年的原因是因爲你設置dateFormatyy-mm-dd,當默認的日期格式爲dd-mm-yy,這不是一個有效的日期(以特定的格式)。

Here's a fiddle

+0

是的,但這不是從服務器發送日期的格式。 – Kassem

+0

@Kassem你將'dateFormat'傳遞給datepicker對象時設置日期的格式,所以一旦你選擇了一個日期,它就會以這種格式。 – billyonecan

+0

好了,現在我明白了發生了什麼事情。謝謝 :) – Kassem

相關問題