2

日期选择“从”和“到”第一次工作,但是当我更改“从”日期时,“到”日期不起作用。

<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/bootstrap-datepicker.js"></script>

HTML

<th>From: <input type="text" class="from span2" value="" id="from"></th>
<th>To: <input type="text" class="to span2" value="" id="to"></th>

脚本

var from = $('.from').datepicker({autoclose: true}).on('changeDate', function(e){           

    $('.to').datepicker({autoclose: true, startDate: e.date })

});      

这是我的代码http://jsfiddle.net/britonet/VS2zS/2/ 首先尝试它完美,我选择 FROM = 07/03/2013,并且日期禁用 07/02/2013, 07/01/2013..依此类推...但是如果我将日期更改为 FROM = 06/10/2013,它并没有禁用 Date TO

4

3 回答 3

2

问题是$('.to').datepicker没有初始化。 JSFIDDLE是一个非常简单的设置日期范围的小提琴。

更新新的:

以下代码设置新的开始日期:

var from = $('.from').datepicker({ autoclose: true }).on('changeDate', function(e){
$('.to').datepicker({ autoclose: true}).datepicker('setStartDate', e.date).focus();
});

小提琴。

于 2013-07-26T09:03:14.307 回答
0

你的.to应该在你的 onchange 之外。像这样的东西,

var from = $('.from').datepicker({autoclose: true}).on('changeDate', function(e){           

});    

var to $('.to').datepicker({autoclose: true, startDate: e.date });

这是工作代码。该代码会将starDate设置为今天的日期。endDate将在 startDate 之后的一天开始。如果 startDate 改变,它会动态改变 enddate,这样用户就不能选择 startDate 之前的日期

的HTML:

From: <input type="text" class="from span2" value="" id="from"></th>
To: <input type="text" class="to span2" value="" id="to">

jQuery:

var _startDate = new Date(); //todays date
var _endDate = new Date(_startDate.getTime() + (24 * 60 * 60 * 1000)); //plus 1 day
$('#from').datepicker({
  format: 'mm/dd/yyyy',
  autoclose: true,
  startDate: _startDate,
  todayHighlight: true
}).on('changeDate', function(e){
    _endDate = new Date(e.date.getTime() + (24 * 60 * 60 * 1000)); //get new end date
    $('#to').datepicker('setStartDate', _endDate).focus(); //dynamically set new start date for #to
    });

$('#to').datepicker({
  format: 'mm/dd/yyyy',
  autoclose: true,
  startDate: _endDate,
  todayHighlight: false
});

这是小提琴

有关Eternicode 的引导日期选择器的更多信息,请单击此处

于 2013-07-26T03:47:08.057 回答
0

您需要初始化两个日期选择器并在第一个选择日期后更改第二个的开始日期:

var to = $('.to').datepicker({ autoclose: true });
var from = $('.from').datepicker({ autoclose: true }).on('changeDate', function(e){
    to.startDate = e.date;
});
于 2013-07-26T08:43:42.860 回答