我有一个非常简单的html页面,其中包含以下javascript
$(function() {
$( "#datepicker" ).datepicker({
changeMonth: true,
changeYear: true
});
$( "#datepicker" ).datepicker( "option", "dateFormat", "yy-mm-dd" );
});
Run Code Online (Sandbox Code Playgroud)
然后我有输入目标元素
<input id="datepicker" type="text" class="boxtpl" name="${field.name}" value="${release?.startDate}">
Run Code Online (Sandbox Code Playgroud)
我看到来自查看源的输入的html是有效的...
<input id="datepicker" type="text" class="boxtpl" name="release.startDate" value="2012-02-07">
Run Code Online (Sandbox Code Playgroud)
因此,当我执行GET请求获取此页面时,我的日期仅呈现我是否删除了javascript中设置格式非常重要的最后一行,因为这是我为playframework配置的格式!!!!! 如果我没有设置格式,POST会因为格式不匹配而中断:(
为什么设置datepicker的格式清除我的日期????
我可以尝试更多脚本来手动设置它虽然我尝试调用api来设置它并且DID不起作用所以它可能无法正常工作原始javascript设置...不确定.任何人都知道为什么会发生或更好但如何解决它?
谢谢,迪恩
不确定它是否是jquery ui中的错误,但似乎设置格式有效地删除了默认值.你可以用链式来解决这个问题
.datepicker("setDate", datepicker_default_val );
Run Code Online (Sandbox Code Playgroud)
但是,我在我的网络应用程序中所做的是定义一个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 );
});
Run Code Online (Sandbox Code Playgroud)
这样做是抓取带有标记类的每个元素,将默认值保存到local var datepicker_default_val,设置格式,然后恢复该值.
有点破解,但把它放在$(文件).ready(function(){}); 阻止,你应该是好的.
| 归档时间: |
|
| 查看次数: |
7317 次 |
| 最近记录: |