gpt4 book ai didi

javascript - 如何使用 DateTime 的 ui-mask 将 Unix 日期放入输入

转载 作者:行者123 更新时间:2023-11-28 06:41:32 26 4
gpt4 key购买 nike

我有一个输入元素:

<input id="inputInicio" required name="inputInicio" ui-mask="99/99/9999 99:99:99" 
ng-model="captura.inicioReq" placeholder="dd/mm/yyyy hh:mm:ss" class="form-control">

我想用默认值初始化它。默认值为captura.inicioReq。该变量是unix(来自Date.UTF)格式。

如何配置输入时显示的值?

当我设置 ui-mask 和占位符时,该值消失。

最佳答案

解决了!

我创建了一个名为 validar-data 的指令(属性),并将其添加到我想要使用的输入上:

<input id="inputInicio" required name="inputInicio" ui-mask="99/99/9999 99:99:99" validar-data ng-model="captura.inicioReq" placeholder="dd/mm/yyyy hh:mm:ss" class="form-control">

此属性需要和 ng-model。通过模型,我绑定(bind)了它的格式化程序和解析器,因此我能够控制传入和传出值的格式。

requisicaoManual.directive('validarData', ['$timeout', function($timeout) {
return {
priority: Number.POSITIVE_INFINITY,
restrict: 'A',
require: 'ngModel',

link: function($scope, $elm, $attrs, ngModelController) {
ngModelController.$parsers.push(function(entrada) {
var data = String(entrada).replace(/[A-z]*/g, "");
var momentJsDate = moment(ngModelController.$viewValue, "DD/MM/YYYY HH:mm:ss", true);
ngModelController.$invalid = !momentJsDate.isValid();
if (momentJsDate.isValid()) {
data = momentJsDate.valueOf();
return data;
}
return data;
});

ngModelController.$formatters.push(function(data) {
data = moment(data).format('DD/MM/YYYY HH:mm:ss');
return data;
});
}
}
}]);

更多信息: http://alexperry.io/angularjs/2014/12/10/parsers-and-formatters-angular.htmlhttps://docs.angularjs.org/api/ng/type/ngModel.NgModelController

谢谢

关于javascript - 如何使用 DateTime 的 ui-mask 将 Unix 日期放入输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33763682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com