Javascript AngularJS日期问题
我需要一个AngularJS日期选择器,它允许我执行以下操作:默认可用日期(最小和最大),默认为空,以便用户在需要时输入日期,并且用户能够从日历控件中选择日期或手动输入日期。我认为我几乎已经使用了下面的“假设开箱即用”组件,但是当你尝试手动输入日期时,你会得到一些奇怪的结果。当您手动输入日期时,它看起来像是使用US格式,但当您使用日历时,它是使用UK格式。如果您输入Javascript AngularJS日期问题,javascript,angularjs,Javascript,Angularjs,我需要一个AngularJS日期选择器,它允许我执行以下操作:默认可用日期(最小和最大),默认为空,以便用户在需要时输入日期,并且用户能够从日历控件中选择日期或手动输入日期。我认为我几乎已经使用了下面的“假设开箱即用”组件,但是当你尝试手动输入日期时,你会得到一些奇怪的结果。当您手动输入日期时,它看起来像是使用US格式,但当您使用日历时,它是使用UK格式。如果您输入28-03-2017将其另存为2019-04-03T08:11:07.366Z,则某些内容显然不正确,如果可以,请提供帮助 代码笔:
28-03-2017
将其另存为2019-04-03T08:11:07.366Z
,则某些内容显然不正确,如果可以,请提供帮助
代码笔:
通常,我使用datepicker表单引导ui:
<div class="input-group">
<input
type="text"
name="startDate"
id="legal-basis"
class="form-control"
uib-datepicker-popup="{{vm.format}}"
ng-model="versionsVm.version.startDate"
is-open="vm.popup.opened"
datepicker-options="dateOptions"
close-text="Close"
alt-input-formats="vm.altInputFormats"
required
ng-disabled="versionsVm.version.status == 'VALIDATED'"
/>
<span class="input-group-btn">
<button ng-if="versionsVm.version.status != 'VALIDATED'" type="button" class="btn btn-default" ng-click="vm.openDate()"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</div>
有关完整文档检查:
我一直推荐:它是用纯Angular.JS编写的(不需要jQuery),并利用Moment.JS处理所有很酷的事情,如内部化或日期/时间操作
在README.md文件中,它还提供了许多非常简单的示例,介绍了您需要的所有功能
以下是一个plunker示例:
angular
.module('演示',['时刻选择器])
.controller('DemoController',['$scope',函数(){
var ctrl=this;
//努普。
}]);代码>
角力矩选择器
使用DIV
元素
&时代;
{{ctrl.div.stringDate | |'选择一个日期…'}
注意:由于这不是一个输入字段,用户无法键入
自定义文本。
使用输入
元素
注:ng型号
是输入所必需的,
即使你从不使用它。
angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache'])
.config(function $mdDateLocaleProvider) { $mdDateLocaleProvider.formatDate = function (date) {
return !date ? '' : moment(date).format('DD-MM-YYYY');
};})
.controller('AppCtrl', function() { this.myDate = new Date();});
<div class="input-group">
<input
type="text"
name="startDate"
id="legal-basis"
class="form-control"
uib-datepicker-popup="{{vm.format}}"
ng-model="versionsVm.version.startDate"
is-open="vm.popup.opened"
datepicker-options="dateOptions"
close-text="Close"
alt-input-formats="vm.altInputFormats"
required
ng-disabled="versionsVm.version.status == 'VALIDATED'"
/>
<span class="input-group-btn">
<button ng-if="versionsVm.version.status != 'VALIDATED'" type="button" class="btn btn-default" ng-click="vm.openDate()"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</div>
function YourController() {
var vm = this;
vm.openDate = function() {
vm.popup.opened = true;
};
vm.formats = ['dd/MM/yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
vm.format = vm.formats[0];
vm.altInputFormats = ['M!/d!/yyyy'];
vm.popup = {
opened: false
};
}