javascript - UI掩码部分值

标签 javascript jquery angularjs angularjs-directive angular-ui

您好,对于 angularui 中的 UI 掩码,有没有办法只从输入框中获取一部分值?例如:

 <input type="text" name="myInput" ui-mask="999-999-9999"  placeholder="xxx-xxx-xxxx"class="form-control" data-ng-model="search.phone"   maxlength="12" ui-mask-use-viewvalue="true">

当我输入 7783777826 时,它变成 778-377-7826(由 ui-mask 语法指定)。

但是,当我键入 778377782 或 778377 时,该值为空。我想要它,这样即使用户键入这些短值,我至少也可以捕获它们。

是否可以通过 $viewValue 获取这些部分值?

最佳答案

在 uiMask 模块中,我最终从 blurHandler 函数中注释掉了这些行,这允许输入部分值,如果无效则不会将它们设置为 null。

function blurHandler(){
  oldCaretPosition = 0;
  oldSelectionLength = 0;
   //if (!isValid || value.length === 0) {
   //  valueMasked = '';
   //  iElement.val('');
   //  scope.$apply(function (){
   //    controller.$setViewValue('');
   //  });
   //}
}

我意识到编辑库不是最佳选择,但它可能正是您要找的。

关于javascript - UI掩码部分值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749421/

相关文章:

javascript - 闭包 - JS Fiddle 和简单 HTML 文件上的不同行为

javascript - jQuery 1.4 中的实时更改处理程序不适用于 IE 中的选择元素

javascript - D3 js点击同时触发所有过去的点击

javascript - 为什么这个 JQuery 拾色器插件没有包含在我的网页中/未被检测到?

javascript - Angular Jasmine : View console output from controller?

javascript - 单击一个更新按钮保存所有文本字段

javascript - 正则表达式条件不适用于 polymer 纸张输入,如何在纸张输入上仅允许小数?

javascript - Jquery .each,但仅限当前元素

javascript - ngModel - 如何处理它在不同浏览器中的不同行为?

javascript - Jasmine/Angular.js $scope 在加载 Controller 上未定义