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



我在内部和ng-repeat中具有以下HTML输入:

<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

to

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

使用碳,但也无效。数据仍未在输入字段中显示。但是,当我从时间到文本更改它时。

如果我们说您想显示这段时间: 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[time]

我认为您将字符串分配到NG模型中,该字符串应为日期。在分配模型之前,请从字符串转换为日期。

尝试以下代码。它可能会帮助您。

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

请找到工作的plunker。

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

https://docs.angularjs.org/api/ng/input/input[time]

最新更新