如何在 AngularJS 中自动将输入字段中的第一个字符大写?

2023-11-21

如何自动大写 AngularJS 表单元素内输入字段中的第一个字符?

我已经看到了 jQuery 解决方案,但相信这必须在 AngularJS 中通过使用指令以不同的方式完成。


是的,您需要定义一个指令并定义您自己的解析器函数:

myApp.directive('capitalizeFirst', function($parse) {
   return {
     require: 'ngModel',
     link: function(scope, element, attrs, modelCtrl) {
        var capitalize = function(inputValue) {
           if (inputValue === undefined) { inputValue = ''; }
           var capitalized = inputValue.charAt(0).toUpperCase() +
                             inputValue.substring(1);
           if(capitalized !== inputValue) {
              modelCtrl.$setViewValue(capitalized);
              modelCtrl.$render();
            }         
            return capitalized;
         }
         modelCtrl.$parsers.push(capitalize);
         capitalize($parse(attrs.ngModel)(scope)); // capitalize initial value
     }
   };
});

HTML:

<input type="text" ng-model="obj.name" capitalize-first>

Fiddle

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 AngularJS 中自动将输入字段中的第一个字符大写? 的相关文章

随机推荐