gpt4 book ai didi

javascript - Angular UI Bootstrap 日期选择器结合 UI.Mask

转载 作者:可可西里 更新时间:2023-11-01 02:04:11 25 4
gpt4 key购买 nike

我正在使用 Angular UI bootstrap popup date-picker构建一个指令,使我可以轻松地在需要的地方添加日期选择器。

当我将其与 uiMask Directive 结合使用时,当我选择一个日期时,输入中的值会被打乱。

这是我的 html:

<p class="input-group">
<input type="text" class="form-control"
ui-mask="99/99/9999"
ng-model="ngModel"
ng-model="order.date"
datepicker-popup="MM/dd/yyyy"
is-open="opened"
datepicker-options="dateOptions"
date-disabled="disabled(date, mode)"
ng-required="true"
close-text="Close" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</p>

还有我的 JS:

/**
* DATE PICKER
*/
$scope.today = function () {
$scope.dt = new Date();
};
$scope.today();

$scope.clear = function () {
$scope.dt = null;
};

// Disable weekend selection
$scope.disabled = function (date, mode) {
return (mode === 'day' && (date.getDay() === 0 || date.getDay() === 6));
};

$scope.toggleMin = function () {
$scope.minDate = $scope.minDate ? null : new Date();
};
$scope.toggleMin();

$scope.open = function ($event) {
$event.preventDefault();
$event.stopPropagation();

$scope.opened = true;
};

$scope.dateOptions = {
formatYear: 'yy',
startingDay: 1
};

$scope.initDate = new Date('2016-15-20');
$scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
$scope.format = $scope.formats[0];

我希望能够使用 ui-mask 功能通过不必键入 / 来更轻松地键入日期。是否可以一起使用它们?

最佳答案

以下片段对我有用:

.config(function ($provide) {

$provide.decorator('datepickerPopupDirective', function ($delegate) {
var directive = $delegate[0];
var link = directive.link;

directive.compile = function () {
return function (scope, element, attrs) {
link.apply(this, arguments);
element.mask("99/99/9999");
};
};

return $delegate;
});

});

它只是用 jquery.maskedinput.js 提供的掩码装饰日期选择器指令。玩得开心!


更新(2015 年 5 月 13 日)

一个 plunker 来说明它的工作原理:http://plnkr.co/edit/fTFNu9Mp2kX5X1D6AJOx?p=preview

关于javascript - Angular UI Bootstrap 日期选择器结合 UI.Mask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24786796/

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