jQuery Datepicker只显示一次

jQuery Datepicker only shows once

本文关键字:一次 Datepicker 显示 jQuery      更新时间:2023-09-26

我在表单上有一个文本框,我创建了一个这样的日期选择器:

$("#txtBirthDate").datepicker({
                    changeMonth: true,
                    changeYear: true,
                    yearRange: '1920:2999',
                    maxDate: '+0d',
                    dateFormat: 'dd-mm-yy'
        });

这很好,但发生的是:

我按下文本框,日期选择器显示得很好,选择一个日期。但如果我想选择另一个日期,我首先需要点击另一个字段,然后再点击出生日期字段。当我第二次按下出生日期字段而没有首先单击另一个字段时,日期选择器不会显示。。

我在这里错过了什么?

HTML代码:

<label>Birthdate</label>
<input type="text" name="txtBirthDate" id="txtBirthDate" class="input" readonly='true' value="<?echo $_POST["txtBirthDate"]; ?>" />

Ok问题是焦点。选择日期后,字段没有失去焦点。解决方法:

$("#txtBirthDate").datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: '1920:2999',
    showButtonPanel: true,
    maxDate: '+0d',
    dateFormat: 'dd-mm-yy',
    onClose: function(dateText, inst) { 
        setTimeout(function(){
            $("#txtBirthDate").blur();
        }, 200);
    }
});

谢谢你试图和我一起解决这个问题!

这件事和我一起发生过一次,只需关注文章,看看有什么不同,但我认为你错过了:

 showButtonPanel: true,

感谢

对我有用的非常简单的答案是包含这行

 $('#ui-datepicker-div').remove();

在初始化日期选择器元素之前。