日期选择“从”和“到”第一次工作,但是当我更改日期“从”时,日期“到”无效。
<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,并且日期为TO禁用07/02/2013,07/01/2013 ..等等......但是如果我更改日期FROM = 06/10 / 2013,它没有禁用日期
答案 0 :(得分:2)
问题是$('.to').datepicker
未初始化。
JSFIDDLE非常简单,可以将从和设置为日期范围。
更新新版本:
以下代码设置新的开始日期:
var from = $('.from').datepicker({ autoclose: true }).on('changeDate', function(e){
$('.to').datepicker({ autoclose: true}).datepicker('setStartDate', e.date).focus();
});
答案 1 :(得分:0)
你的 .to 应该在你的改变之外。像这样的东西,
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
});
的更多信息
答案 2 :(得分:0)
您需要初始化两个日期选择器,并在第一个选择日期后更改第二个的开始日期:
var to = $('.to').datepicker({ autoclose: true });
var from = $('.from').datepicker({ autoclose: true }).on('changeDate', function(e){
to.startDate = e.date;
});