<script type="text/javascript">
// When the document is ready
$(document).ready(function () {
$('.datepicker').datepicker({
format: "yyyy-mm-dd",
}).on('changeDate', function(ev){
// do what you want here
$(this).datepicker('hide');
}).on('changeDate', function(ev){
if ($('#startdate').val() != '' && $('#enddate').val() != ''){
$('#period').text(diffInDays() + ' d.');
} else {
$('#period').text("-");
}
});
});
</script>
这就是我的日期选择器的样子。所以基本上当我通过单击鼠标更改日期时它效果很好,但是当我用键盘手动更改日期或手动清除日期更改日期事件时不会被调用。这是一个错误还是我在这里做错了什么?
最佳答案
如果您想响应手动输入,则必须在输入本身上使用 change
事件,因为 changeDate
事件仅适用于使用以下方式更改日期时日期选择器。
尝试这样的事情:
$(document).ready(function() {
$('.datepicker').datepicker({
format: "yyyy-mm-dd",
})
//Listen for the change even on the input
.change(dateChanged)
.on('changeDate', dateChanged);
});
function dateChanged(ev) {
$(this).datepicker('hide');
if ($('#startdate').val() != '' && $('#enddate').val() != '') {
$('#period').text(diffInDays() + ' d.');
} else {
$('#period').text("-");
}
}
关于javascript - 手动编辑日期或清除日期时, Bootstrap 日期选择器更改日期事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22507671/