微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在php中动态生成的输入[type = date]格式值

我有一个动态生成值的输入

<input name="etd" type"date" value="<?PHP echo $row[0]; ?>">

为了支持html5日期输入,日期格式为yyyy-mm-dd分配给该值,mm / dd / yyyy格式正确显示在html5浏览器中.

问题出现在非html5浏览器上,其中赋值的值直接显示为文本(格式为yyyy-mm-dd).我试图将此值转换为使用jQuery格式化mm / dd / yyyy,如下所示:

<script>
    $('input[type="date"]').each({  

        var Now = new Date($(this).attr('value'));
        var day = ("0" + Now.getDate()).slice(-2);
        var month = ("0" + (Now.getMonth() + 1)).slice(-2);     
        var today = Now.getFullYear()+"-"+(month)+"-"+(day);        
        $(this).val(today);

    }); 
</script>

但是没有用,我是jQuery的新手,所以我想,它就是它的一部分.

更新:

我正在使用此代码不支持html5的浏览器上放置日期选择器,这不能解决我从数据库中检索到的日期问题,但if子句在某种程度上可以区分html5浏览器.我想也许我可以使用该条件来过滤jQuery代码(我正在寻找的代码)

<script>
    $(function() {
        if (!Modernizr.inputtypes['date']) {
            $('input[type=date]').datepicker({
                dateFormat: 'mm/dd/yy'
            });
        }
    });
</script>

解决方法:

试试吧;
这是Fiddle link.

HTML:

<input name="etd" type="date" value="1919-03-12">

JS:

$( document ).ready(function() {

    $('input[type=date]').each(function (this){  

       var datestring = $(this).val(); 
       var dateobj    = new Date(datestring);

       var formattedstring = dateobj.getUTCDate()+"/"+dateobj.getUTCMonth()+"/"+dateobj.getUTCFullYear();

       $(this).val(formattedstring);

    });

});

另请注意,当您设置日期和月份值时,对于单个值,前面应该有一个零.例如,第7个月应为07.

顺便说一句,在您的代码中,您缺少=“登录类型”日期,请更正:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐