jQuery日期选择器不显示原始文本值

我正在使用jQuery的日期选择器来表示我的一个表单字段 – 出生日期。

该字段使用PHP生成,并将填入用户的原始出生日期。 单击该字段会显示小部件,它完全没问题。

但是,文本框不显示原始值,即使它出现在浏览器的源代码中。 我正在使用Google Chrome。

以下是jQuery代码:

$(function() { $("#DatePicker").attr("readonly","readonly"); $("#DatePicker").datepicker({ changeMonth: true, changeYear: true, yearRange: "1950:+10" }); $("#DatePicker").datepicker("option","dateFormat","dd MM yy"); }); 

这是PHP代码:

 echo ""; 

以下是HTML代码(从源代码复制):

  

请告诉我出了什么问题。 谢谢。

我不知道为什么,但这条线正在清除价值:

 $("#DatePicker").datepicker("option","dateFormat","dd MM yy"); 

如果可能的话,尝试添加这样的选项,在Firefox和Chrome中为我工作 :

 $("#DatePicker").datepicker({ changeMonth: true, changeYear: true, dateFormat: "dd MM yy" }); 

尝试使用像firefox这样的其他浏览器来检查它是否是浏览器兼容性问题,不确定php但是在asp.net上可以选择将文本框文本可见性设置为true

您应该使用setDate而不是直接设置输入值。

 $("#birthday").datepicker() .datepicker("option", "dateFormat", 'dd.mm.yy') .datepicker('setDate', 'getBirthday()->format('dmY') ?>'); 

根据Nik的回答,这就是我在“所有javascript”中使用它的方法

 $(".popup-date").each(function(){ var ele = $(this); var v = ele.val(); ele.datepicker().datepicker("option", "dateFormat", "dd-M-yy").datepicker("setDate", v); }); 

接受的答案只能解决问题的一半。 显示该值,但日期选择器选择后的日期格式是错误的。

我的例子使用了不同的日期格式(例如,2014年9月1日),因为我刚刚复制了我最终开始工作的代码。 我还必须将其分解为获取元素和值,因为它在内插时最多是零星的。