【问题标题】:Is it possible mask input using a different placeholder?是否可以使用不同的占位符屏蔽输入?
【发布时间】:2014-02-05 20:31:09
【问题描述】:

由于我的表单没有标签,我希望能够在 Angular 和 Angular-UI-Utils-Mask 中使用不同的占位符:

<div ng-controller="myController">
    <input type="text"
        ng-model="date"
        ui-mask="99/99/9999"
        placeholder="Birth Date"/>  
</div>

使用jquery-inputmask 它就像一个魅力,但我有太多问题无法让它与 Angular 一起使用,所以我现在尝试采用 Angular 方式,但 Angular 将我的输入显示为:

Bi/th/Date

这里有一个小提琴来展示它:http://jsfiddle.net/XS4R6/

我还看到一些人在谈论“ui-mask-placeholder”,但它什么也没做。

有没有办法做到这一点?

编辑

澄清一下,我认为只使用 placeholders 就可以了,因为您也使用 titles(提示),所以人们总是知道他们应该在这些输入中输入什么:

显示__.___.___ 的输入是我正在使用的Angular UI Mask。

JQuery Inputmask 工作得很好,因为它显示了“名称”占位符,并且只要我将鼠标悬停或单击输入,它就会显示掩码。

【问题讨论】:

  • 我认为不使用标签很好。编辑以显示表单将如何以及 Angular 正在做什么。 JQuery Inputmask 工作得很好,因为它显示了“名称”占位符,只要我将鼠标悬停或单击输入,它就会显示掩码。
  • 我需要这个功能,不得不放弃 ui-mask 并实现我自己的。 :(
  • @JonathanRowny 你介意分享你的解决方案吗?

标签: angularjs angular-ui masking


【解决方案1】:

我在想你可以使用另一个标签来模拟占位符,可能这里的代码不是很好,但我只是提供另一个想法。

app.directive("myPlaceholder", ['$compile', function($compile){
return {
    restrict: 'A',
    link: function(scope, elem, attr) {
        attr.$observe('myPlaceholder', initialize);
        var mask = '__/__/____';

        function initialize(value) {
            // label is not clickable in IE, that's the reason why we use span tag
            var fakePlaceholder = angular.element('<span class="placeholder">' + value + '</span>');
            // click placeholder to focus the input
            fakePlaceholder.on('click', function(){
                elem.focus();
            });
            elem.before(fakePlaceholder);
            $compile(fakePlaceholder)(scope);

            elem.on('focus', function() {
                fakePlaceholder.hide();
            }).on('blur', function() {
                if (elem.val() === mask) {
                    fakePlaceholder.show();
                }
            });
        }
    }
};
}]);

http://jsfiddle.net/XS4R6/19/ 上的演示(需要 jQuery)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-11
    • 2016-05-24
    • 2020-10-07
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    相关资源
    最近更新 更多