2014-05-14 107 views
0

我有以下JavaScript代碼,使用StartDate & EndDate字段。如何將時間限制在datetimepicker中的一小時內?

該代碼的作用是將EndDate字段中的日期限制爲您在StartDate字段中選擇的日期。

我想要做的是限制時間,例如「datetimepicker」由一個帶有小時的下拉列表組成。

如何將EndDate字段限制爲一小時(根據我從StartDate字段中選擇的小時加上一小時),並且可能禁用剩餘可用小時數?

$(document).ready(function() { 
      var dates = $('#StartDate, #EndDate').datetimepicker({ 
       dateFormat: 'dd/mm/yy', 
       hourMin: 9, 
       hourMax: 17, 
       minDate: '1', 
       maxDate: null, 
       controlType: 'select', 
       timeFormat: 'hh:mm tt', 
       beforeShowDay: $.datepicker.noWeekends, 
       firstDay: 1, 
       changeFirstDay: false, 
       onSelect: function (selectedDate) { 
        var option = this.id == "StartDate" ? "minDate" : "maxDate", 
         instance = $(this).data("datepicker"), 
         date = $.datepicker.parseDate(
          instance.settings.dateFormat || 
          $.datetimepicker._defaults.dateFormat, 
          selectedDate, instance.settings); 
        var edate; 
        var otherOption; 
        var d;     

        if (option == "minDate") { 
         otherOption = "maxDate"; 

         d = date.getDate() + 0;        
        } 

        else if (option == "maxDate") { 
         otherOption = "minDate"; 

         d = date.getDate() - 0;       
        } 

        var m = date.getMonth(); 
        var y = date.getFullYear(); 
        edate = new Date(y, m, d); 

        dates.not(this).datetimepicker("option", option, date); 
        dates.not(this).datetimepicker("option", otherOption, edate); 
       } 
      }); 
     }); 

回答

0

如果您正在使用這個插件: DateTimePicker ,那麼您可以:

$('#rest_example_3').datetimepicker({ 
    minDate: new Date(2010, 11, 20, 8, 30), 
    maxDate: new Date(2010, 11, 31, 17, 30) 
}); 

基本上你需要傳遞分鐘日期和結束日期與時間

+0

一小時時間限制它具有根據用戶在StartDate字段中選擇的內容在EndDate字段中動態生成,例如他是否選擇了12:00在EndField中選擇高達13:00的選擇 – Wizeman1986

+0

Noone正在回覆,沒有希望:( – Wizeman1986

+0

你需要有兩個datetimepickers。每個文本框一個。在第一個的關閉之前,您定義了第二個的EndDate。他們的示例頁面中有一個非常好的示例。 (通過使用onSelect和onClose事件限制開始和結束日期) –

相關問題