【问题标题】:input type="date" not show value in chrome > 30输入类型 =“日期”在 chrome > 30 中不显示值
【发布时间】:2014-11-05 09:48:16
【问题描述】:

从我的 SQL Server 中,我变成了“03.11.2014”的值。我想在输入类型的日期中显示此值,例如:

<input type="date" value={{myDate}}>

在 Internet Explorer 中,这将显示正确,但没有日期选择器。像文本框一样显示。

在 Google Chrome 中,我没有任何价值。 我用谷歌搜索过,但 Chrome 似乎预计日期为“2014-11-03”。

在两种浏览器中显示具有正确值的日期时间选择器的正确解决方法是什么?

【问题讨论】:

    标签: angularjs google-chrome date


    【解决方案1】:

    您需要在 "{{myDate}}" 周围加上引号,以便可以将 {{myDate}} 适当地传递给 value 属性。

    您需要创建自己的过滤器,将字符串从 mm.dd.yyyy 解析为 yyyy-dd-mm。根据您的日期选择器,您可能需要重新转换刚刚创建的字符串以再次成为日期。如果是这样,只需在过滤器中添加一行即可。

    以下是过滤器的示例:

    angular.module('myApp', [])
      .filter('reformatDate', function() {
        return function(input) {
          input = input.splice('.');
          return input[2] + "-" + input[1] + "-" + input[0];
        };
      })
    

    然后调用它(在控制器中注入“myApp”依赖项之后):

    value="{{myDate | reformatDate}}"
    

    【讨论】:

      猜你喜欢
      • 2017-02-04
      • 2015-09-14
      • 2017-11-27
      • 2017-02-16
      • 2021-04-27
      • 2016-01-03
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      相关资源
      最近更新 更多