JQuery DatePicker не закрывается - PullRequest
1 голос
/ 06 апреля 2011

Мой jQuery datepicker закрывается только при выборе даты, но я хочу, чтобы он закрывался, когда пользователь нажимает кнопку или рядом с кнопкой закрытия. Однако даже если для параметра 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 ]

3 голосов
/ 06 апреля 2011

Возможно, я нашел решение своей проблемы ...

$('.ui-datepicker').live('mouseleave', function() {
    $('.ui-datepicker').fadeOut(function() {
        $('.formattedStartDate').attr('class', 'formattedStartDate');
        $(this).remove();
    });
});

Это работает для меня, надеюсь, это будет работать и для других.

0 голосов
/ 04 апреля 2014

Все взорвалось, когда я пытался использовать вживую. Поэтому мне пришлось использовать дальше. Я также добавил в фокус ввода скрыть. Так что, если вам случится сфокусироваться на другом поле, календарь не просто болтается. Я тоже только что спрятался, но вы сможете сменить его на исчезновение, если вы этого хотите.

    $('.bootstrap-datetimepicker-widget').on('mouseleave', function () {
        $(this).hide();
    })
    $('input').on('focus', function () {
        $('.bootstrap-datetimepicker-widget').hide();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...