Bootstrap DatePicker - 跳过范围内的日期数组

时间:2017-01-26 10:10:29

标签: jquery arrays twitter-bootstrap sharepoint datepicker

我有一个禁用日期的日历IMAGE我禁用星期日和星期六以及此前属性的日期:

//datesDisabled: datesForDisable, --> this is array
//daysOfWeekDisabled: [0, 6],

我希望我在 dateFrom 中选择第18个日期,在 dateTo 中选择第23个日期获取日期长度 - > 2 我想跳过禁用日期

我在这里使用功能

var enumerateDaysBetweenDates = function (startDate, endDate) {

        var disabledDates = ["13/01/2017", "19/01/2017", "20/01/2017"];
        var DisableDays = [0, 1];
        var dates = [];

        var currDate = startDate.clone().startOf('day');
        var lastDate = endDate.clone().startOf('day');

        dates.push(currDate.clone().toDate());

        while (currDate.add('days', 1).diff(lastDate) < 0) {
            if (disabledDates.indexOf(moment(currDate.format('DD/MM/YYYY'))) == -1 && DisableDays.indexOf(currDate.day()) == -1) {
                dates.push(currDate.clone().toDate());
            }
        }

        dates.push(currDate.clone().toDate());

        return dates;
    };

先谢谢你了!

1 个答案:

答案 0 :(得分:0)

var DisableDays = [0, 1];

定义要禁用的一周中的哪几天。

禁用星期六和星期日在禁用天数组中使用0,6。

Moment.js定义星期日= 0到星期六= 6的工作日。

<强>更新

同样,对于非工作日,比较不在循环中的工作数组与当前日期。

Updated Fiddle

 if(DisableDays.indexOf(currDate.day()) == -1 && notWorkingDays.indexOf(currDate.format('DD.MM.YYYY')) == -1 )

- 帮助:)