我有一个非常简单的html页面,其中包含以下 javascript $(function() { $( "#datepicker" ).datepicker({ changeMonth: true, changeYear: true }); $( "#datepicker" ).datepicker( "option", "dateFormat", "yy-mm-dd" ); }); 然后我有输
$(function() { $( "#datepicker" ).datepicker({ changeMonth: true, changeYear: true }); $( "#datepicker" ).datepicker( "option", "dateFormat", "yy-mm-dd" ); });
然后我有输入目标元素
<input id="datepicker" type="text" class="boxtpl" name="${field.name}" value="${release?.startDate}">
我看到来自查看源的输入的html是有效的…
<input id="datepicker" type="text" class="boxtpl" name="release.startDate" value="2012-02-07">
因此,当我执行GET请求获取此页面时,我的日期仅呈现我是否删除了javascript中设置格式非常重要的最后一行,因为这是我为playframework配置的格式!!!!!如果我没有设置格式,POST会因为格式不匹配而中断:(
为什么设置datepicker的格式清除我的日期????
我可以尝试更多脚本来手动设置它虽然我尝试调用api来设置它并且DID不起作用所以它可能无法正常工作原始javascript设置…不确定.任何人都知道为什么会发生或更好但如何解决它?
谢谢,
院长
.datepicker("setDate", datepicker_default_val );
但是,我在我的网络应用程序中所做的是定义一个CSS类“.datepicker”,然后编写此代码片段,为该类的任何人提供日期选择器.
$( ".datepicker" ).each( function(index){ var datepicker_default_val = $(this).val(); $( this ).datepicker({numberOfMonths: 3, showButtonPanel: true}); $( this ).datepicker( "option", "dateFormat", 'yy-mm-dd' ); $( this ).datepicker("setDate", datepicker_default_val ); });
这样做是抓取带有标记类的每个元素,将默认值保存到local var datepicker_default_val,设置格式,然后恢复该值.
有点破解,但把它放在$(文件).ready(function(){});阻止,你应该是好的.