【问题标题】:jQuery datepicker display formatjQuery datepicker 显示格式
【发布时间】:2011-12-29 19:18:31
【问题描述】:

我有带有日期字段的 MySQL 表 (yy-mm-dd)。

我有带有日期选择器的表格,可以编辑它,它工作正常。

但是在前端日期显示为 mm-dd-yy,这可能会造成混淆。

我希望带有 datepicker 的字段将值显示为 mm-dd-yy,但实际值应该是旧格式 (yy-mm-dd)。

如何达到这个目标?

补充:我知道如何更改日期格式。我想要分开显示值和实际值。这就是它的全部意义所在。

【问题讨论】:

    标签: jquery datepicker format


    【解决方案1】:

    jQuery UI Datepicker 小部件带有altFieldaltFormat 选项,允许您设置辅助(如果需要,隐藏)表单输入,以您想要的任何格式存储日期:

    $( ".selector" ).datepicker({
        altField  : '#actualDate',
        altFormat : 'yy-mm-dd'
    });
    

    来源:http://jqueryui.com/demos/datepicker/#option-altFormat

    这是一个演示:http://jsfiddle.net/MmKmq/

    【讨论】:

    • 这看起来不错的解决方案!如果有帮助,我会尝试并标记为解决方案。
    • 这是一个可怕的 jQuery hack。
    【解决方案2】:

    看看这个 jquery 页面,它会引导你找到你想要的:

    http://docs.jquery.com/UI/Datepicker#option-dateFormat

    至于将其处理为 yy-mm-dd,您可能必须通过网页上的方法重新排列格式。

    【讨论】:

    • 这就是我所说的“你可能必须通过页面上的方法来做到这一点......”。你可以做的是有一个隐藏的文本框作为真正的值,另一个文本框是用户看到的。那么你可以保存隐藏的价值吗?只是一个想法......
    • 这太复杂了...我的表单是自动生成的,日期选择器也是自动附加的。如果我必须手动制作其他元素并手动进行事件处理等等,它将破坏所有的灵活性。用DP内部的方式真的没有办法吗?
    【解决方案3】:

    你可以试试这个:

    <input type="text"   id="displayDate" />
    <input type="hidden" id="submittedDate" />
    
    <script type="text/javascript">
    
       $(document).ready(function() {
    
          $("#displayDate").datepicker({
             dateFormat: 'MM dd, yy', // this is the format of the date that will be shown
             onSelect: function(dateText, inst) {
                var date  = new Date(dateText);
                $("#submittedDate").val(date.getTime()); // transform into what you want to submit here
             }
          });
    
       });
    
    </script>
    

    【讨论】:

      猜你喜欢
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      相关资源
      最近更新 更多