无法加载或绑定字符串值到输入[type = time]

时间:2016-11-24 09:20:18

标签: angularjs html5

我有以下html输入和ng-repeat:

<div class="form-group">
  <label class="control-label small">Time</label>
  <input type="time" class="form-control" ng-model="schedule.time" required />
</div>

现在这是一个编辑表格。当页面加载时,它从服务器获取数据并加载到它们各自的输入字段中。除时间外,所有其他输入字段似乎都在显示。

我认为它可能是值的格式,所以我只是改变它:

  

20点45分00秒

{
    "date":"2016-11-24 20:45:00.000000","timezone_type":3,"timezone"
    :"UTC"
}

使用碳,但也没有用。数据仍未显示在输入字段中。但是,当我将其从时间更改为文本时,它会显示出来。

3 个答案:

答案 0 :(得分:1)

如果我们说你要显示这个时间:20:45:00那么在你的JS代码中你应该做这样的事情,以便将数据传递到input[time]字段:

$scope.myDate = new Date();
$scope.myDate.setHours(20,45,0)

在您的情况下可以使用您的obj简化:

{
    "date":"2016-11-24 20:45:00.000000","timezone_type":3,"timezone"
    :"UTC"
}

你可以这样做:

$scope.schedule.time = new Date(obj.date);

点击此处查看更多信息:https://docs.angularjs.org/api/ng/input/input%5Btime%5D

答案 1 :(得分:0)

我认为你将字符串分配到ng-model中应该是Date.Before分配给模型之前将它从字符串转换为Date。

尝试以下代码。这可能对你有帮助。

$scope.time = new Date(obj.date);

请找到工作plunker

答案 2 :(得分:0)

您的日期字符串需要解析为Date对象,然后您可以使用角度过滤器来显示时间。角度文档有一个很好的例子。

https://docs.angularjs.org/api/ng/input/input%5Btime%5D