为什么我的AngularJS ngModel绑定到时间输入,但没有绑定到日期输入?

时间:2013-11-25 18:33:02

标签: javascript angularjs date data-binding

我正在尝试将input类型date绑定到模型。我能够绑定到time字段,但我遇到了date字段的问题。 HTML:

<div ng-app ng-controller="HistoryCtrl">
    <input type="date" nm-model="startDate" />
    <input type="time" ng-model="startTime" />
    <input type="date" nm-model="endDate" />
    <input type="time" ng-model="endTime" />
    <button ng-click="updateForm()">Update</button>
</div>

这是我的控制器(简化):

function HistoryCtrl($scope) {

    $scope.result = {
        result: 'success',
        start: '2013-11-23 03:00:00',
        end: '2013-11-24 16:30:00',
        delta: 0.05681799352169
    };

    $scope.updateForm = function () {
        $scope.updateTimespan($scope.result.start, $scope.result.end);
    };

    $scope.updateTimespan = function (start, end) {
        $scope.startDate = start.split(" ")[0];
        $scope.startTime = start.split(" ")[1];
        $scope.endDate = end.split(" ")[0];
        $scope.endTime = end.split(" ")[1];
    }
}

这是一个小提琴:http://jsfiddle.net/t3m6r/2/

我正在使用Google Chrome 31.0.1650.57 for Mac。点击“更新”按钮后,time字段会更新,但date字段不会更新。为什么?我是doing it wrong吗?

1 个答案:

答案 0 :(得分:8)

您正在使用ng-model但输入了错误,“nm-model”。

<input type="date" ng-model="startDate" />
<input type="time" ng-model="startTime" />
<input type="date" ng-model="endDate" />
<input type="time" ng-model="endTime" />

请参阅JS Fiddle