简体   繁体   English

jQuery datepicker突出显示两个日期之间的eventDate

[英]jquery datepicker highlight eventDates between two dates

Please can you help me to solve these below issues in jquery datepicker 请您能帮我解决以下jquery datepicker中的问题吗?

I want to highlight the start date '09/01/2015' to end date '09/30/2015' without adding every single day, like: 我想突出显示开始日期“ 09/01/2015”到结束日期“ 09/30/2015”,而不要添加每一天,例如:

    eventDates[ new Date( '09/01/2015', 09/31/2015 )] = 'unavailable';

This is what my code looks like: 这是我的代码如下所示:

    var eventDates = {};

    eventDates[ new Date( '09/01/2015' )] = 'unavailable';
    eventDates[ new Date( '09/02/2015' )] = 'unavailable';
    eventDates[ new Date( '09/03/2015' )] = 'unavailable';
    eventDates[ new Date( '09/04/2015' )] = 'unavailable';
    eventDates[ new Date( '09/05/2015' )] = 'unavailable';
    eventDates[ new Date( '09/06/2015' )] = 'unavailable';
    eventDates[ new Date( '09/07/2015' )] = 'unavailable';
    eventDates[ new Date( '09/08/2015' )] = 'unavailable';
    eventDates[ new Date( '09/09/2015' )] = 'unavailable';
    eventDates[ new Date( '09/10/2015' )] = 'unavailable';
    eventDates[ new Date( '09/11/2015' )] = 'unavailable';
    eventDates[ new Date( '09/12/2015' )] = 'unavailable';
    eventDates[ new Date( '09/13/2015' )] = 'unavailable';
    eventDates[ new Date( '09/14/2015' )] = 'unavailable';
    eventDates[ new Date( '09/15/2015' )] = 'unavailable';
    eventDates[ new Date( '09/16/2015' )] = 'unavailable';
    eventDates[ new Date( '09/17/2015' )] = 'unavailable';
    eventDates[ new Date( '09/18/2015' )] = 'unavailable';
    eventDates[ new Date( '09/19/2015' )] = 'unavailable';
    eventDates[ new Date( '09/20/2015' )] = 'unavailable';
    eventDates[ new Date( '09/21/2015' )] = 'unavailable';
    eventDates[ new Date( '09/22/2015' )] = 'unavailable';
    eventDates[ new Date( '09/23/2015' )] = 'unavailable';
    eventDates[ new Date( '09/24/2015' )] = 'unavailable';
    eventDates[ new Date( '09/25/2015' )] = 'unavailable';
    eventDates[ new Date( '09/26/2015' )] = 'unavailable';
    eventDates[ new Date( '09/27/2015' )] = 'unavailable';
    eventDates[ new Date( '09/28/2015' )] = 'unavailable';
    eventDates[ new Date( '09/29/2015' )] = 'unavailable';
    eventDates[ new Date( '09/30/2015' )] = 'unavailable';

    $( ".section-booking .date-picker-inline1" ).datepicker({
         beforeShowDay: function(date) {               
         var highlight = eventDates[date];
          if (highlight) {
                return [true, 'css-class-to-highlight ' + highlight, ''];
            } else {
                // default
                return [true, '', ''];
           }
       }

Why not just create a highlight function like this: 为什么不创建这样的高亮功能:

function highlight(start, end){
     var currentDay = start;
     while(currentDay <= end){
         eventDates[currentDay] 'unavailable';
         currentDay.setDate(currentDay.getDate() + 1);
     }
 }

And then call the function with your dates that you want highlighted: 然后使用要突出显示的日期调用该函数:

highlight(new Date('09/01/2015'), new Date('09/30/2015'));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM