为什么构建JQuery UI Datepicker会清除字段的值?

Agn*_*ian 4 jquery jquery-ui jquery-ui-datepicker

我有一个INPUT标签,其value属性设置为"15-May-2012",我用它初始化了一个JQuery UI Datepicker,如下所示:

<input type="text" name="schedule" id="schedule"
      value="15-May-2012">

<script type="text/javascript">
  $(function() {
    $( "#schedule" ).datepicker();
    $( "#schedule" ).datepicker( "option", "dateFormat", "d-M-yy" );
  });
</script>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,一旦初始化Datepicker,就会清除INPUT标记的值.请注意,INPUT字段中的值与Datepicker设置的格式相匹配.

为什么清除价值?

以下是它的实例:http://agnelkurian.com/lab/datepicker_example.html

mu *_*ort 12

绑定datepicker时:

$('#schedule').datepicker();
Run Code Online (Sandbox Code Playgroud)

它将使用默认值dateFormat,即"mm/dd/yy"; 你的"15-May-2012"格式不匹配,所以当日期选择器无法使用时解析它时,它会清除它"mm/dd/yy".然后你改变格式:

$("#schedule").datepicker("option", "dateFormat", "d-M-yy");
Run Code Online (Sandbox Code Playgroud)

value已经失去了.

绑定datepicker时应设置格式:

$("#schedule").datepicker({
    dateFormat: 'd-M-yy'
});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/ambiguous/mHyn7/