输入类型日期格式和日期选择器问题

我正在使用HTML5元素输入属性,并且目前只有Chrome,iOS Safari和Opera似乎支持它。 所以我为尚不支持它的浏览器创建了一个jQuery UI日期选择器回退,但是我遇到了一些问题,并且无法找到任何答案。

  • 如果我输入日期选择器要求的日期格式,然后选择一个新日期,那么还有一个额外的yyyy
  • 我认为yyyy-mm-dd格式很荒谬,并且希望它像mm一样显示mm / dd / yyyy,尽管值仍然是yyyy-mm-dd。 有没有办法用datepicker或更好的解决方案做到这一点?
  • JS

    if (!Modernizr.inputtypes.date) {
      $('input[type=date]').datepicker({
        dateFormat: 'yyyy-mm-dd' // HTML 5 
      });
    }
    

    HTML

    <input type="date" value="2014-01-07" />
    

    请在firefox中查看datepicker后备和chrome来查看输入类型日期。


    首先,jQuery的日期选择器有点不同,整整一年只是yy所以yyyy让你整整两年。

    以下是日期格式列表 - > http://api.jqueryui.com/datepicker/#utility-formatDate

    请注意, y是两位数年份, yy是四位数年份。

    要用一种格式显示日期选择器,并提交不同的格式,可以使用altField选项和另一个包含替代值的输入。
    这是您提交的输入内容,同时向用户显示原始输入。

    为了设置本地日期选择器,你也可以做类似的事情

    <input type="date" id="date" />
    <input type="hidden" id="alternate" />
    

    if (!Modernizr.inputtypes.date) {
        $( "#date" ).datepicker({
            dateFormat : 'mm/dd/yy',
            altFormat  : "yy-mm-dd",
            altField   : '#alternate'
        });
    } else {
        $('#date').on('change', function() {
            $('#alternate').val(this.value);
        });
    }
    

    小提琴

    链接地址: http://www.djcxy.com/p/18663.html

    上一篇: Input type date format and datepicker issues

    下一篇: How can i set today date as a default date in html