【问题标题】:Select Weekly/Bi-weekly/twice a week in multidatespicker在多日期选择器中选择每周/双周/每周两次
【发布时间】:2015-05-04 23:11:39
【问题描述】:

我不确定这是否可能,但我找不到使用 multidatepicker 执行此操作的任何线索.. 我正在创建一个网络预订系统,该系统需要允许客户选择他们喜欢的任何预订日期。 但现在我的客户要求创建每周套餐(每月 4 次)、每两周一次(每 2 周 1 次)等套餐。例如,当客户选择该周的星期二时......剩下的 6 天所有将被禁用.. 并且每两周一次.. 那一周和下周将被禁用..

感谢能提供帮助的人:)

【问题讨论】:

    标签: jquery-multidatespicker


    【解决方案1】:

    我有同样的问题:在我的预订项目中,用户必须可以选择天数范围,也可以选择周数范围(仅限周六到周六)。

    我在 multiDatesPicker() 初始化函数的 onSelect() 事件上管理了星期的选择:通过单击一周中的一天 MultiDatesPicker 自动选择从星期六到星期六的相对星期。

    不幸的是,对我来说,未解决的问题是悬停事件,因为我希望 MultiDatesPicker 也通过悬停一周中的几天来悬停一周,而不仅仅是选择它,所以用户可能会感知到真正选择周而不是天. 奇怪的是 MultiDatesPicker 没有 onHover() 函数来管理“预选”/悬停事件。

    var autoselectRange = [0, days_range];
    
    $('.multidatespicker-wrapper').multiDatesPicker({
    numberOfMonths: [1, 2],
    minDate: 1, 
    firstDay: 1,
    mode: 'daysRange',
    onSelect: function(dateText, inst) {
    
        var selectedDate = $.datepicker.parseDate($.datepicker._defaults.dateFormat, dateText);
    
        from_date = new Date(moment(dateText, "MM/DD/YYYY").format("YYYY-MM-DD"));
        to_date = new Date (moment(dateText, "MM/DD/YYYY").add('days', days_range - 1).format("YYYY-MM-DD"));
    
        if (weekRange) {
            // Setting of Start and End of the week
            if (from_date.getDay() == 6) numDaysToWeekStart = 0; // because Saturday in this case it is Start of the week
            else numDaysToWeekStart = from_date.getDay() + 1;
    
            from_date = new Date(from_date.setDate(from_date.getDate() - numDaysToWeekStart));
            to_date = new Date(to_date.setDate(to_date.getDate() - numDaysToWeekStart));
    
            // Setting of the days of the week
            date = new Date(from_date); 
            weeks = [];
    
            while (date <= to_date) {
                weeks.push(new Date(date));
                date.setDate(date.getDate() + 1);
            }
    
            // Selection of the days of the week/weeks in MDP Calendar
            $(this).multiDatesPicker('resetDates', 'picked');
            $(this).multiDatesPicker('addDates', weeks);
        }
    
        // Any more controls
    
    },   
    autoselectRange: autoselectRange,
    pickableRange: days_range,
    
    // any more settings });
    

    希望对你有所帮助;如果您有管理悬停事件的想法并且可以分享。谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      相关资源
      最近更新 更多