2014-05-14 105 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事件限制开始和结束日期) –

相关问题