我的jQuery日期选择器仅在选择日期时关闭,但我希望它在用户点击远离或关闭按钮时关闭。但是,即使将 showButtonPanel 选项设置为true,也不会显示关闭按钮,但会显示“今天”按钮。
我认为使用自定义onSelect操作而不是默认操作可能会有所帮助,但无法弄清楚如何自行关闭它。尝试使用$ .datepicker('hide')和('destroy'),但没有区别。
$(document).ready(function() {
$.datepicker.setDefaults({firstDay: 1, dateFormat: 'dd/mm/yy', showAnim: 'fade'});
});
$(document).delegate('.editEndDate', 'click', function() {
$('.formattedEndDate').datepicker({
defaultDate: $('.formattedEndDate').attr('id'),
onSelect: function(dateText, inst) {
var date = dateText;
var data = 'project=' + projectId + '&date=' + date + '&dateToChange=end';
$.ajax({
type: 'POST',
url: 'helpers/change-project-date.php',
data: data + '&ajax=1',
success: function(response){
getNotification(response);
$('.formattedEndDate').fadeOut(function() {
$(this).load(location.href+ ' .formattedEndDate', function() {
$(this).fadeIn('slow');
});
});
},
error: function(response){
getNotification(response);
},
complete: function(response){
$('.formattedEndDate').datepicker('hide');
}
});
}
});
return false;
});
这可能很简单,但我看不到它。提前谢谢。
答案 0 :(得分:3)
我可能找到了解决自己问题的方法......
$('.ui-datepicker').live('mouseleave', function() {
$('.ui-datepicker').fadeOut(function() {
$('.formattedStartDate').attr('class', 'formattedStartDate');
$(this).remove();
});
});
这对我有用,希望它也适用于其他人。
答案 1 :(得分:0)
当我尝试使用直播时,一切都爆炸了。所以我不得不使用。我还添加了输入焦点隐藏。因此,如果您碰巧专注于不同的领域,日历不仅仅是闲逛。我也只是隐藏了,但如果那是你想要的,你应该可以将其切换为淡入淡出。
$('.bootstrap-datetimepicker-widget').on('mouseleave', function () {
$(this).hide();
})
$('input').on('focus', function () {
$('.bootstrap-datetimepicker-widget').hide();
});