2013-11-21 104 views
0

我有兩個使用jQuery - Kendo UI日期選擇器的文檔。一個正常工作正常,但另一個有這個問題。Kendo UI日期選擇器,選擇時間時更改日期 - 請任何人

當我第一次選擇日期時,日期完美地顯示在按鈕中並計算出來,我可以選擇時間而不更改日期。http://pixelfreaks.dk/waterout/klippfiks-sluttid.html(這個工作正常,我可以在不改變兩個字段的情況下更改日期和時間。 ..

但是在另一個文件中它不工作..我已經嘗試過非常多。我試圖複製只是文本變量來計算。當選擇日期然後時間日期每次更改日期改變,唯一的區別應該是我計算的小時數http://pixelfreaks.dk/waterout/klippfisk-starttid.html(這是錯誤的)

任何人都可以幫我找到問題。工作正常。我選擇日期,然後選擇時間。

文檔2:有一個腳本,有一些其他小時用於在按鈕中標註結果。我試着從文檔1移動一些代碼,但是我看不到要做什麼。希望任何人都可以幫助我我看不出什麼是錯的

他們使用的文件是相同的。唯一的變化是計算時間的數字

+0

歡迎來到SO!你能編輯你的問題,包括不工作的代碼嗎? – Derek

回答

2

問題是e.sender.value()給你一個指針到的日期不是副本。當你改變它的值時,你實際上也改變了顯示數據的值。

你應該做一個副本,你可以使用:

function closeDateTimePicker(e) { 
    var edate = new Date(e.sender.value()); 
    edate.setHours(edate.getHours()+8); 
    $("#Shift1").text(edate.toLocaleString()); 
    edate.setHours(edate.getHours()+16); 
    $("#Shift2").text(edate.toLocaleString()); 
    edate.setHours(edate.getHours()+24); 
    $("#Shift3").text(edate.toLocaleString()); 
}; 

在你原來的代碼沒有問題,因爲添加日期的結果,實際上是原來的日期,因爲你開始減去,然後添加。在這裏,因爲你只添加你最終在不同的日期。

請在此檢查:http://jsfiddle.net/OnaBai/zA9r5/