我的情况: 我正在使用zebra_datepicker进行预订。 我有两个配对的日期选择器(所以第二个是1天后的第一个)。 - 这些日期(以及之间的日期)将保存在数组中 - 我再次初始化datepickers并将disabled_dates设置为我的数组(因此禁用预订日期)
现在,我的问题: 我正在尝试在按钮单击后将类添加到第一个选定日期(第一个datepicker)和最后一个选定日期(第二个datepicker)。谁有人可以提供帮助? 谢谢!
更新(一些代码示例):
HTML:
<div class="flatArrive">
<div class="Zebra_DatePicker_Icon_Wrapper">
<input id="inputArrive"/>
<div id="calendarArrive"></div>
</div>
</div>
<div class="flatDepart">
<div class="Zebra_DatePicker_Icon_Wrapper">
<input id="inputDepart"/>
<div id="calendarDepart"></div>
</div>
</div>
<input type="submit" id="submitBooking" value="reservate!"/>
初始化datepickers:
var disabledDates = [];
$('#inputArrive').Zebra_DatePicker({
disabled_dates: disabledDates,
direction: 1,
pair: $('#inputDepart')
});
$('#inputDepart').Zebra_DatePicker({
disabled_dates: disabledDates,
direction: 1
});
获取禁用(预订)日期的功能:
getDatesBetweenArriveAndDepart : function (arrive, depart) {
var arriveTS = parseInt(moment(arrive.val(), 'DD.MM.YYYY').format('X'), 10),
departTS = parseInt(moment(depart.val(), 'DD.MM.YYYY').format('X'), 10),
daysToReservate = [];
while (arriveTS <= departTS) {
if($.inArray(moment.unix(arriveTS).format('DD MM YYYY'), this.disabledDates) === -1) {
daysToReservate.push(moment.unix(arriveTS).format('DD MM YYYY'));
arriveTS += this.dayInMs;
} else {
alert('You cant book twice');
daysToReservate = [];
return;
}
}
$.merge(disabledDates, daysToReservate);
}
使用填充的disabledDates数组再次按下按钮并使用init日历调用我的函数:
$('#submitBooking').on('click', function () {
getDatesBetweenArriveAndDepart($('#inputArrive'), $('#inputDepart'));
initCalendars();
});
在点击内部我需要一个函数,将类设置为datepicker内的到达和离开日。