我想格式化荷兰邮政编码的文本输入视图,该邮政编码始终以4位数字开头,以2个字母结尾。即:1234 AA。我想要一个文本输入来自动将数据格式化为这种格式。
我尝试使用ui.mask,如果你没有放入自定义占位符,它会起作用。我不太喜欢占位符____ __
,因此我设置了1234 AA
。
http://plnkr.co/edit/5zC2pAM4UBNC046jwQDy
这样可行,但我的邮政编码可能以1开头。当我尝试输入我的示例 - 邮政编码1122 AB时,我不能。
我也搞乱了格式化程序和解析器,但是我无法让它工作。模型中的值应为1234AA,没有空格。
答案 0 :(得分:1)
似乎在输入混乱中使用遮罩设置占位符。
你可以做的是创建一个指令,在ui-mask进程之后添加占位符,没有占位符并使用ui-mask的值代替:
创建此指令:
.directive("myPlaceholder",function($timeout){
return{
link: function(scope, element, attrs){
$timeout(function() {
element.removeAttr('placeholder');
element.attr('placeholder', attrs.myPlaceholder);
});
}
}
})
并将其设置为输入而不是实际的占位符:
<input type="text" ui-mask="9999 AA" ng-model="x" my-placeholder="1234 AA" />
在此处查看: