我有一个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>
由于某种原因,一旦初始化Datepicker,就会清除INPUT标记的值。请注意,INPUT字段中的值与Datepicker设置的格式匹配。
为什么价值被清除?
答案 0 :(得分:12)
绑定datepicker时:
$('#schedule').datepicker();
它将使用默认dateFormat
,即"mm/dd/yy"
;您的"15-May-2012"
与该格式不匹配,因此当使用"mm/dd/yy"
无法解析时,datepicker会将其清除。然后你改变格式:
$("#schedule").datepicker("option", "dateFormat", "d-M-yy");
但value
已经丢失。
绑定datepicker时应设置格式:
$("#schedule").datepicker({
dateFormat: 'd-M-yy'
});
答案 1 :(得分:2)
实际有效的简单解决方案:
var tmp = $('#schedule').val();
$("#schedule").datepicker("option", "dateFormat", "d-M-yy");
$("#schedule").val(tmp);
答案 2 :(得分:-1)
$( "#schedule" ).datepicker();
$( "#schedule" ).datepicker( "option", "dateFormat", 'd-M-yy' );
$( "#schedule" ).val("15-May-2012");