从Input Datetime-local作为参数的角度传递值

时间:2015-09-17 13:19:31

标签: javascript angularjs datetime

我使用Angulars输入datetime-local来为搜索功能生成日期时间选择器。

我希望用户选择一个开始和结束时间,当用户点击一个按钮时,我希望我的控制器中的一个函数被调用所选的时间作为传递的参数,但不知何故传递的所有内容都是未定义的:

JsFiddle

HTML:

<div id="searchposition_popup" ng-app="dateExample">
<div id="searchposition-popup" ng-controller="DateController">
    <a class="searchposition_popup_close close" style="color:#FFFFFF; padding-right:10px;">x</a>
    <div style="padding-top:6px;">SEARCH POSITIONS</div>
    <br>
    <p>
        <label style="width:50px;">From:</label>
        <input style="width:180px;" type="datetime-local" id="startDate" name="input" ng-model="searchDateStart" placeholder="yyyy-MM-ddTHH:mm:ss" required />
    </p>
    <p>
        <label style="width:50px;">To:</label>
        <input style="width:180px;" type="datetime-local" id="endDate" name="input" ng-model="searchDateEnd" placeholder="yyyy-MM-ddTHH:mm:ss" required />
    </p>
    <br>
    <button type="Submit" ng-click="searchPositions(searchDateStart, searchDateEnd)" class="btn btn-default btn-xs">Search</span>
</div>

的Javascript

angular.module('dateExample', [])
.controller('DateController', ['$scope', function ($scope) {
    $scope.searchPositions = function (begin, end) {
        console.log(begin, end);
    }
}]);

1 个答案:

答案 0 :(得分:1)

Angular dosen不支持datetime-local在较低版本1.3.0-beta.1中 确保使用较新的角度版本或1.3.0-beta.1 并使用日期对象绑定模型:

var app = angular.module('dateExample', []);

app.controller('DateController', function($scope) {
  $scope.searchDateEnd = new Date();
  $scope.searchDateStart = new Date();
  $scope.searchPositions = function(begin, end) {
    console.log(begin, end);
  }
});

Plunker