jQuery datepicker没有关闭

时间:2011-04-06 09:40:58

标签: jquery-ui datepicker

我的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;
});

这可能很简单,但我看不到它。提前谢谢。

2 个答案:

答案 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();
    });