【问题标题】:jQuery Date and timepicker different time on specific dayjQuery Date 和 timepicker 在特定日期的不同时间
【发布时间】:2014-11-27 14:38:36
【问题描述】:

我正在使用日期和时间选择器来预订表格,我需要你的帮助。 http://xdsoft.net/jqplugins/datetimepicker/

我想只在星期日设置一个特定的时间段。 所以每隔一天“允许时间”是从 18:30 到 23:15 但周日是 12:30 到 22:00

这是我使用的解码代码

    $('#datum').datetimepicker({
    lang:'nl',
     i18n:{
      de:{
       months:[
        'Januari','Februair','Maart','April',
        'Me','Juni','Juli','Augustus',
        'September','Oktober','November','December',
       ],
       dayOfWeek:[
        "Zo.", "Ma", "Di", "Wo", 
        "Do", "Vr", "Za.",
       ]
      }
     },
    dayOfWeekStart: 1,
    minDate: 0,
    formatTime:'H:i',
    formatDate:'d.m.Y',
    minTime:'18:30',
    maxTime:'23:15',
    defaultTime:'18:30',
    onSelectTime: function(){  },
    allowTimes:['18:30','18:45','19:00','19:15','19:30','19:45','20:00','20:15','20:30','20:45','21:00','21:15','21:30','21:45','22:00','22:15','22:30','22:45','23:00','23:15'],
    beforeShowDay: function(date) {

        var day = date.getDay();
        return [(day == 0 || day >4 ), ""]; // Sunday or after Wednesday.
    }
});

thnx提前,任何帮助将不胜感激

【问题讨论】:

  • 月份“可能”拼写错误。应该是 'mei' 而不是 'me'。
  • 谢谢你告诉我,但当然这不是问题 :) 但是谢谢

标签: jquery datepicker timepicker


【解决方案1】:

不确定您是否找到了解决方案,但还是发帖以防其他人需要帮助:

对于周日和周六,我们希望缩短工作时间。

var datePickerTime = function(currentDateTime) {
    // 'this' is jquery object datetimepicker
    var day = currentDateTime.getDay();
    if (day === 0 || day === 6) {
        this.setOptions({
            allowTimes: ["09:00", "10:00", "11:00", "12:00"]
        });
    } else {
        this.setOptions({
            allowTimes: ["08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00"]
        });
    }
};

$('#txtCallDate').datetimepicker({
    minDate: '0',        
    minDateTime: dt,
    onChangeDateTime: datePickerTime
});

【讨论】:

    【解决方案2】:

    我相信您必须在构造函数中设置时间范围在回调中设置日期更改。而且我相信正确的回调是onSelectDate 而不是onChangeDateTime - 使用后者会在滚动时创建闪烁和重置时间选择小部件(但是,感谢@WillemNicolaas 为我指明了正确的方向) .下面的逻辑显示了工作日的上午 9 点到晚上 7 点和周末的上午 11 点到晚上 7 点,这正是我想要的。

    d = new Date(); 
    weekendTimes = [
            '11:00', '11:30', '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00', '15:30', '16:00', '16:30', '17:00', '17:30', '18:00', '18:30', '19:00'
               ]; 
    weekdayTimes = [
            '9:00', '9:30', '10:00', '10:30', '11:00', '11:30', '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00', '15:30', '16:00', '16:30', '17:00', '17:30', '18:00', '18:30', '19:00'
               ]; 
    
    
    if ((d.getDay() == 6) || (d.getDay() == 0)) { 
       times = weekendTimes; 
    } else {
       times = weekdayTimes; 
    }
    var datePickerTime = function(currentDateTime) {
       // 'this' is jquery object datetimepicker
       var day = currentDateTime.getDay();
       if (day === 0 || day === 6) {
           this.setOptions({
               allowTimes: weekendTimes 
           });
       } else {
           this.setOptions({
               allowTimes: weekdayTimes 
           });
       }
    };
    jQuery('input[name="order_delivery_date"]').datetimepicker({
        inline:true,
        minDate:0,
        onSelectDate: datePickerTime,
        defaultDate: d, 
        allowTimes: times, 
        formatTime:'g:i A'
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      相关资源
      最近更新 更多