当绑定到Date()-对象时,如何格式化input[time]的值
How to format the value of input[time] when bound to Date()-object
我正在将一个变量绑定到时间类型的输入字段,但显示的格式是错误的。
它显示的时间如下:08:54:30,088
我实际需要的是这样一种格式:08:54
。
我试图用过滤器(value={{ datetime.date | date : 'HH:mm' }}
)设置输入字段的值,但我的编辑器说我这样做的方式是错误的。有什么想法吗?
这里是完整的代码:
HTML
<input id="rep_time" class="form-control" type="time" ng-model="datetime.time" value={{ datetime.date | date : 'HH:mm' }}>
JS
app.controller( 'newCtrl', function( $scope ) {
$scope.datetime = {
date: new Date(),
time: new Date()
};
} );
我通过定义Date()-对象来避免这个问题。它有效,但我不喜欢这种双重定义的方式。
HTML
<input class="form-control" type="date" ng-model="datetime.date" placeholder="yyyy-MM-dd" min="2016-01-01" required />
<input class="form-control" type="time" ng-model="datetime.time">
JS
$scope.datetime = {
date: new Date(),
time: ''
};
$scope.datetime.time = new Date(
$scope.datetime.date.getFullYear(),
$scope.datetime.date.getMonth() + 1,
$scope.datetime.date.getDate(),
$scope.datetime.date.getHours(),
$scope.datetime.date.getMinutes() );
js的更新
有了使用Jimbrooism中的$filter的想法,我找到了一个更短的方法!
$scope.datetime = {
date: new Date(),
time: new Date( $filter( 'date' )( new Date(), 'yyyy-MM-dd HH:mm' ) )
};
请查看此
var app = angular.module("mainApp", []);
app.controller('mainCtrl', function($scope, $filter){
$scope.datetime = {
date: new Date(),
time: $filter('date')( new Date(), 'HH:mm')
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<div ng-app="mainApp" ng-controller="mainCtrl">
<input id="rep_time" class="form-control" type="time" ng-model="datetime.time" >
</div>
试试这个:
<input id="rep_time" class="form-control" type="time" ng-model="datetime.time" data-ng-value={{ datetime.date | date : 'shortTime'}}>
是否需要将模型绑定到输入元素?将筛选器应用于输入字段通常会生成警告或错误,因为筛选器是单向的,并且将现有值绑定到输入,然后更改它们是双向绑定。
如果您不需要能够更改元素,可以考虑将输入更改为其他内容,如
<div ng-bind="datetime.date | date : 'HH:mm'"></div>
如果你必须使用输入,金布罗辛的答案会起作用。
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- 正在将base64 jpeg从input-type=file上传到服务器
- 如何使用input-tage上传图片并查看在laravel中上传的文件预览
- 将字符串转换为格式化日期
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 在HTML画布上格式化文本
- 用于高级文本的格式化工具
- 使用模式格式化Number类型输入中的值
- 将格式化的纯文本转换为HTML
- 如何配置WebStorm以正确格式化生成器函数
- $(input[]).仅在firefox中出现每个抛出语法错误
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 如何在谷歌可视化中组合数字和模式格式化程序
- 自定义验证并格式化从数据数据库返回的响应-BEGINNER
- 我如何在INPUT TEXT中使用这个Javascript和jQuery
- 格式化获取请求的路由
- 如何将日期拆分为格式化的日期和时间
- 用于用户内容的简单代码编辑器/文本格式化程序(在Rails中)
- 当绑定到Date()-对象时,如何格式化input[time]的值