JQuery DatePicker теряет фокус после. ("показать") - PullRequest
1 голос
/ 26 сентября 2011

Я использую указатель даты в JQuery UI.При выборе «с даты», я хочу автоматически открыть «дату» выбора даты.Итак, я называю .datepicker («шоу»).«На сегодняшний день» сборщик показывает на секунду и сразу исчезает.Удивительно, но если я захожу в другое приложение, а затем возвращаюсь и фокусируюсь на окне браузера, отображается средство выбора «на сегодняшний день».Я также попытался добавить $ ('# toDate'). Focus ();но это не помогло.

$( ".fromDatePicker" ).datepicker({
    defaultDate: "+1w",
    dateFormat: 'dd/mm/yy',
    altFormat: 'yymmdd',
    altField: "#fromDateFormatted",
    numberOfMonths: 2,
    showOn: "both",
    buttonImage: "images/calender_icon_a1.jpg", 
    buttonText: "open calendar",
    buttonImageOnly: true,
    onSelect: function( selectedDate ) {
        $('#toDate').datepicker( "option", "minDate", selectedDate );
        $('#toDate').datepicker("show");
        //$('#toDate').focus();  //commented cause it's not working
    }
});

1 Ответ

0 голосов
/ 26 сентября 2011

Причина появления мигающего изображения в том, что show будет вызван до завершения minDate. Это могло бы сбить с толку указатель даты при запуске события beforeShowDay непосредственно перед его отображением.

Один из несколько хакерских решений - отложить вызов, чтобы показать средство выбора даты. Например, будет работать что-то вроде следующего:

onSelect: function( selectedDate ) {
    $('#toDate').datepicker( "option", "minDate", selectedDate );
    setTimeout(function() { $('#toDate').datepicker("show") }, 50);
}

Смотрите это в действии: http://jsfiddle.net/william/PVuTC/2/.

...