如何使用ng-model将值传递给输入时间标签

时间:2019-07-09 11:55:59

标签: javascript html angularjs datetime

嗨,我正在尝试将值从javascript传递到输入时间标签-角度JS。 这是以下代码。

JS

$scope.from="09:00:00"
$scope.from="17:00:00"

HTML

From : <input type="time" ng-model="from" > 
To : <input type="time" ng-model="to" >

在输入元素中没有值被更新。上面的代码有什么错误?

这里是完整代码:

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">

From: <input type="time" ng-model="fromTime"><br>
To: <input type="time" ng-model="toTime"><br>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.fromTime="09:00:00";
    $scope.toTime="17:00:00";
});
</script>

</body>
</html>

  

错误:[ngModel:datefmt]

2 个答案:

答案 0 :(得分:1)

angularjs 1.3版之后,所有与日期相关的输入都需要一个类型为Date()的模型。 documentation

因此,您需要像这样将值更改为Date对象。 :

$scope.from= new Date(1970, 0, 1, 09, 0, 0);
$scope.to= new Date(1970, 0, 1, 17, 0, 0);

查看演示:fiddle

答案 1 :(得分:0)

从文档中:

  

错误:ngModel:datefmt

     

模型不是日期对象

     

说明

     

所有与日期相关的输入,例如<input type="date">都要求模型是Date对象。如果模型是其他模型,则会引发此错误。

有关更多信息,请参见