2014-10-30 46 views
0

我使用的是jquery datetime選擇器,當我打開那些選取器的頁面時,那麼兩個選取器值都是當前時間(例如:Sat Nov 01 2014 08:27:28 GMT + 0200(FLE Standard時間))。如何按默認值選擇12:00,而不是當前時間?DateTime選擇器錯誤

謝謝你們......

http://jsfiddle.net/4fa5n7wa/6/

$(document).ready(function() { 
    var today = new Date(); 

    var minStart = new Date(); 
    minStart.setDate(today.getDate() + 2); 

    var minEnd = new Date(minStart); 
    minEnd.setDate(minEnd.getDate() + 2); 

    $("#start").datetimepicker({ 
     format: "Y/m/d H:i", 
     dayOfWeekStart: "1", 
     value: "12:00", 
     inline: true, 
     lang: "nl", 
     onSelectDate: function (ct) { 
      var diff = CalcDiff(); 

      var minDate = new Date(ct); 
      minDate.setDate(minDate.getDate() + 2); 

      if (diff > 48) 
       var defDate = new Date($("#end").val()); 

      $("#end").datetimepicker("destroy"); 
      $("#end").datetimepicker({ 
       format: "Y/m/d H:i", 
       dayOfWeekStart: "1", 
       value: "12:00", 
       inline: true, 
       lang: "nl", 
       minDate: minDate, 
       defaultDate: defDate || minDate, 
       onSelectDate: function (ct) { 
        CalcDiff(); 
       }, 
       onSelectTime: function (ct) { 
        CalcDiff(); 
       } 
      }).val(defDate || minDate); 

      CalcDiff(); 
     }, 
     onSelectTime: function (ct) { 
      CalcDiff(); 
     }, 
     minDate: minStart, 
     defaultDate: minStart 
    }).val(minStart); 

    $("#end").datetimepicker({ 
     format: "Y/m/d H:i", 
     dayOfWeekStart: "1", 
     value: "12:00", 
     inline: true, 
     lang: "nl", 
     minDate: minEnd, 
     defaultDate: minEnd, 
     onSelectDate: function (ct) { 
      CalcDiff(); 
     }, 
     onSelectTime: function (ct) { 
      CalcDiff(); 
     } 
    }).val(minEnd); 

    CalcDiff(); 
}); 

function CalcDiff() { 
    var start = new Date($("#start").val()); 
    var end = new Date($("#end").val()); 

    if (start != null && end != null) { // We have both dates 
     var hours = Math.abs(end - start)/36e5; 
     $("#difference").val(hours); 
    } 

    return hours; 
} 

回答

1

問題解決了:

minStart.setHours(12); 
    minStart.setMinutes(00); 

    minEnd.setHours(12); 
    minEnd.setMinutes(00); 
+0

是的,我剛剛完成創建一個小提琴http://jsfiddle.net/4fa5n7wa/11 /你也應該設置Seconds(0)。 – 2014-10-30 08:32:07

+0

無論如何謝謝你的幫助:) – Xinel 2014-10-30 08:37:34

+0

歡迎:) – 2014-10-30 09:09:43