我使用Angulars输入datetime-local来为搜索功能生成日期时间选择器。
我希望用户选择一个开始和结束时间,当用户点击一个按钮时,我希望我的控制器中的一个函数被调用所选的时间作为传递的参数,但不知何故传递的所有内容都是未定义的:
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);
}
}]);
答案 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);
}
});