3 回答
TA贡献1848条经验 获得超10个赞
嘿,你不应该放置$('.end-date').datepicker
在$('.start-date').on('change'
...监听器,因为它会在每次更改时附加日期选择器.start-date
。
将.end-date
日期选择器放在“onchange”之外,保持$('.end-date').val('');
干净的字段。
告诉我们一切是否顺利。
TA贡献1982条经验 获得超2个赞
$(document).ready(function() {
$("#startDate").datepicker({
format: 'yyyy-mm-dd',
startDate: new Date(),
autoclose: true,
autoclose: true,
}).on('changeDate', function(selected) {
var minDate = new Date(selected.date.valueOf());
$('#endDate').datepicker('setStartDate', minDate);
});
$("#endDate").datepicker({
format: 'yyyy-mm-dd',
autoclose: true,
}).on('changeDate', function(selected) {
var minDate = new Date(selected.date.valueOf());
$('#startDate').datepicker('setEndDate', minDate);
});
});
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" rel="stylesheet" />
<form autocomplete="off">
<input type="text" id="startDate">
<input type="text" id="endDate">
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script>
TA贡献1801条经验 获得超15个赞
尝试一下这个解决方案。
let format = 'yyyy-mm-dd';
// Start date
$('.start-date').datepicker({
startDate: new Date(),
format: format,
autoclose: true
});
$('.end-date').datepicker({
startDate: new Date(),
format: format,
autoclose: true
});
$('.start-date').datepicker().on("changeDate", function() {
let newStartDate = $('.start-date').datepicker('getDate');
$('.end-date').datepicker('update', '');
$('.end-date').datepicker('setStartDate', newStartDate);
})
添加回答
举报