修复所选的startDate应该是下一个结束日期

时间:2016-05-03 06:59:01

标签: javascript jquery css date zurb-foundation

我正在使用基础日期选择器两个日期startDate和endDate。

1)点击日期选择器日历时,默认显示今天的日期。

2)如果我从startDate更改任何日期,例如,如果我选择" 10-10-2016"。 在不更改endDate的任何日期的情况下,如果我打开enddate日历,它应该以" 10-10-2016"只要。但它是从今天开始的。

3)我的重新定义是,所选的startDate是不在textfield中的日历中的下一个结束日期。请看图片。

请看这个小提琴,

jsfiddle

请看第一张图片。

enter image description here

我正在选择" 14.07.2016"来自startDate。

enter image description here

点击结束日期,它已从今天的日期开始。但它被禁用了。它是正确的。我想从" 14.07.2016"开始只要。蓝色活动日期应显示在选定的startDate上。

enter image description here

查看最后一张图片。 Upto" 2016年7月14日"所有日期都是令人费解的。但它并不是从那个日期开始的。请帮帮我怎样才能做到这一点。

var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

var checkin = jQuery('#startDate').fdatepicker({
  format: "dd.mm.yyyy",
  onRender: function(date) {
    return date.valueOf() < now.valueOf() ? 'disabled' : '';
  }
}).data('datepicker');

var checkout = jQuery('#endDate').fdatepicker({
  format: "dd.mm.yyyy",
  onRender: function(date) {
    return date.valueOf() < checkin.date.valueOf() ? 'disabled' : '';
  }
}).on('changeDate', function(ev) {
  checkout.hide();
}).data('datepicker');
<input type="text" id="startDate" name="start_datum" class="input_text date" value="">

<input type="text" id="endDate" name="end_datum" class="input_text" value="">

1 个答案:

答案 0 :(得分:1)

您需要在开始日期添加更改事件,以更新结束日期。

试试这个: -

var checkin = jQuery('#startDate').fdatepicker({
  format: "dd.mm.yyyy",
  onRender: function(date) {
    return date.valueOf() < now.valueOf() ? 'disabled' : '';
  }
}).on('changeDate', function(ev) {
  if (ev.date.valueOf() > checkout.date.valueOf()) {
    var newDate = new Date(ev.date)
    newDate.setDate(newDate.getDate());
    checkout.update(newDate);
    $('#endDate')[0].focus();
  }
}).data('datepicker');

FIDDLE