当前位置: 首页 > 面试题库 >

angularjs在文本框中强制大写

朱鹤轩
2023-03-14
问题内容

我尝试使用大写过滤器,但它不起作用。我尝试过两种方法:

<input type="text" ng-model="test" uppercase/>

<input type="text" ng-model="{{test | uppercase}}"/>

第二个触发JavaScript错误:

语法错误:令牌’test’是意外的,预期为[:]

我希望在用户在文本框中键入内容时将文本强制大写。

我怎样才能做到这一点?


问题答案:

请参阅下面的另一个答案,该答案优于此答案。

此答案基于以下答案:如何在AngularJS的输入字段中自动大写第一个字符?。

我以为您想要的是一个解析器函数,如下所示:

angular

  .module('myApp', [])

  .directive('capitalize', function() {

    return {

      require: 'ngModel',

      link: function(scope, element, attrs, modelCtrl) {

        var capitalize = function(inputValue) {

          if (inputValue == undefined) inputValue = '';

          var capitalized = inputValue.toUpperCase();

          if (capitalized !== inputValue) {

            // see where the cursor is before the update so that we can set it back

            var selection = element[0].selectionStart;

            modelCtrl.$setViewValue(capitalized);

            modelCtrl.$render();

            // set back the cursor after rendering

            element[0].selectionStart = selection;

            element[0].selectionEnd = selection;

          }

          return capitalized;

        }

        modelCtrl.$parsers.push(capitalize);

        capitalize(scope[attrs.ngModel]); // capitalize initial value

      }

    };

  });


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>



<div ng-app="myApp">

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

</div>


 类似资料:
  • 我的问题简而言之: 任何建议都是非常欢迎的。

  • 问题内容: 在angularjs中,有任何可用的功能,仅允许将数字键入文本框中,例如 问题答案: 此功能正是您所需要的。http://docs.angularjs.org/api/ng.directive:input.number 编辑: 您可以将jquery插件包装到指令中。我在这里创建了一个示例:http : //jsfiddle.net/anazimok/jTJCF/ HTML: CSS:

  • 我现在已经切换到Android Studio,并用源代码树在Git中保存我的项目。每当我从模块中添加或删除任何库时,它的.iml文件也会更改。如果我提交*.iml真的无关紧要,因为它们是在其他Android Studio中自动生成的。但是,在这里它说您应该存储*.iml。我的问题是,我们真的需要和别人分享我们的*.iml吗?若有,原因为何?

  • 问题内容: 我有一个文本框,我想在其上应用自动完成功能。我正在使用以下插件: 自动压缩 它可以正常工作,但是一旦我将其与AngularJS结合使用,它就会停止工作: 我有以下代码: 和jfiddle的链接如下: 小提琴 如您所见,虽然没有Angular,但自动完成功能不起作用。 有人可以帮忙吗? 问题答案: 为您服务的傻瓜 http://plnkr.co/edit/5XmPfQ78vRjSrxE0

  • 在angularJs中,我有一个输入文本框,如何设置默认值?我尝试了但失败了。

  • 我从数据库获取的值为10.00520.00,但当我绑定到输入时,它显示为10和520 实例 值绑定到文本框为10,但我希望绑定10.00