Javascript 自举日期选择器

Javascript 自举日期选择器,javascript,jquery,twitter-bootstrap,datepicker,Javascript,Jquery,Twitter Bootstrap,Datepicker,嘿,这个问题以前可能被问过,但是我一直没有找到解决办法 我有两个引导日期选择器。根据第一个日期选择,第二个日期应限制为第一个日期+15 我希望反之亦然。当用户首先选择第二个日期时,第一个日期应限制为第二个日期-15 到目前为止,我的代码是: var nowTemp = new Date(); var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

嘿,这个问题以前可能被问过,但是我一直没有找到解决办法

我有两个引导日期选择器。根据第一个日期选择,第二个日期应限制为第一个日期+15

我希望反之亦然。当用户首先选择第二个日期时,第一个日期应限制为第二个日期-15

到目前为止,我的代码是:

    var nowTemp = new Date();
    var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(),   nowTemp.getDate(), 0, 0, 0, 0);
    var checkin = $('#inputDate1').datepicker({
        onRender: function (date) {
            return date.valueOf() > now.valueOf() ? 'disabled' : '';
        }
    }).on('changeDate', function (ev) {

        //made changes to condition below
        var newDate = new Date(ev.date)
        checkout.setValue(newDate);
        checkin.hide();
        $('#inputDate2')[0].focus();
    }).data('datepicker');
    var checkout = $('#inputDate2').datepicker({
        onRender: function (date) {
           //made changes to below line
           var after = new Date(checkin.date);
           after.setDate(after.getDate() + 14);
           if(now.valueOf() > after.valueOf())
               {
               return (date.valueOf() <= after.valueOf()) && (date.valueOf()>= checkin.date.valueOf()) ? '' : 'disabled';              
               }
           else if(after.valueOf() > now.valueOf())
               {
               return (date.valueOf() <= now.valueOf()) && (date.valueOf()>= checkin.date.valueOf()) ? '' : 'disabled';
               }
        }
    }).on('changeDate', function (ev) {
        checkout.hide();
    }).data('datepicker');
var nowTemp=新日期();
var now=新日期(nowTemp.getFullYear(),nowTemp.getMonth(),nowTemp.getDate(),0,0,0);
var checkin=$('#inputDate1')。日期选择器({
onRender:函数(日期){
返回日期.valueOf()>now.valueOf()?“已禁用”:“”;
}
}).on('changeDate',功能(ev){
//对以下条件进行了更改
var newDate=新日期(ev.Date)
checkout.setValue(newDate);
checkin.hide();
$('#inputDate2')[0]。焦点();
}).数据(“日期选择器”);
var checkout=$('#inputDate2')。日期选择器({
onRender:函数(日期){
//对以下行进行了更改
var after=新日期(签入日期);
在.setDate之后(在.getDate()之后+14);
if(现在.valueOf()>在.valueOf()之后)
{
返回(date.valueOf()=签入.date.valueOf())?“”:“已禁用”;
}
else if(在.valueOf()之后>现在.valueOf()之后)
{
返回(date.valueOf()=签入.date.valueOf())?“”:“已禁用”;
}
}
}).on('changeDate',功能(ev){
checkout.hide();
}).数据(“日期选择器”);

非常感谢您的帮助。

好的,我找到了方法,并在这里粘贴了我的工作代码

$(document).ready(function() {
    var nowTemp = new Date();
    var end = new Date();
    var start; 

  $('#start').datepicker({
      startDate: start,
      endDate: end,
      autoclose: true

  }).on('changeDate', function (e){
      var tempdate = new Date(e.date);
      var tempdate1 = new Date(e.date);
      tempdate1.setDate(tempdate1.getDate() + 15);
      $('#end').datepicker('setStartDate', tempdate);
      $('#end').datepicker('setEndDate', tempdate1);
  });

  $('#end').datepicker({
      startDate: start,
      endDate: end,
      autoclose: true
  }).on('changeDate', function (e){
      var tempdate = new Date(e.date);
      var tempdate1 = new Date(e.date);
      tempdate1.setDate(tempdate1.getDate() - 15);
      $('#start').datepicker('setStartDate', tempdate1);
      $('#start').datepicker('setEndDate', tempdate);
  });


});

做一个小提琴,我们可以在这方面帮助你…只是一个注意,我不认为onRender是合适的事件。如果你发现一些更有用的东西,请查看文档。