Php jQuery日期选择器只显示一次

Php jQuery日期选择器只显示一次,php,javascript,jquery,html,jquery-ui,Php,Javascript,Jquery,Html,Jquery Ui,我在表单上有一个文本框,我创建了一个日期选择器,如下所示: $("#txtBirthDate").datepicker({ changeMonth: true, changeYear: true, yearRange: '1920:2999', maxDate: '+0d', dateFormat:

我在表单上有一个文本框,我创建了一个日期选择器,如下所示:

$("#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"]; ?>" />
生日

我也曾有过类似的经历,只需关注文章,看看有什么不同,但我认为你错过了:

 showButtonPanel: true,

在您的代码中。谢谢

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

$("#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);
    }
});

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

对我来说,一个非常简单的答案就是包括这一行

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

在初始化datepicker元素之前。

好的,我已经添加了HTML代码……我已经尝试了您的代码,并且运行正常,我用$(function(){})包装了您的JS代码;有吗?也许是jquery的旧版本?因为对我来说,它一直在工作……是的,我已经将它包装在$(function(){})中;我知道jquery的原始演示也可以工作,我想可能是因为我使用了文本框的自定义样式,但我不确定…将代码复制到空白页,其中只有日期选择器和文本字段,如果可以工作,问题可能在其他地方,好的,我会检查是否可以找到问题。。一旦我找到它,我将发布解决方案。。如果还有其他选择,请告诉我!到目前为止,谢谢你!