当前位置 : 主页 > 网页制作 > JQuery >

jquery-ui – jquery ui datepicker从输入字段中删除我的文本

来源:互联网 收集:自由互联 发布时间:2021-06-15
我有一个非常简单的html页面,其中包含以下 javascript $(function() { $( "#datepicker" ).datepicker({ changeMonth: true, changeYear: true }); $( "#datepicker" ).datepicker( "option", "dateFormat", "yy-mm-dd" ); }); 然后我有输
我有一个非常简单的html页面,其中包含以下 javascript

$(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设置…不确定.任何人都知道为什么会发生或更好但如何解决它?

谢谢,
院长

不确定它是否是jquery ui中的错误,但似乎设置格式有效地删除了默认值.你可以用链式来解决这个问题

.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(){});阻止,你应该是好的.

网友评论