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

自动完成文本框和AngularJS

凌黎明
2023-03-14
问题内容

我有一个文本框,我想在其上应用自动完成功能。我正在使用以下插件:

自动压缩

它可以正常工作,但是一旦我将其与AngularJS结合使用,它就会停止工作:

我有以下代码:

function personController($scope) {
    $scope.firstName = "John",
    $scope.lastName = "Doe",
    $scope.availableTags = [],
    $scope.fullName = function() {
        /* return $scope.firstName + " " + $scope.lastName;*/
        $scope.availableTags= [
                      "ActionScript",
                      "AppleScript",
                      "Asp",
                      "BASIC",
                      "C",
                      "C++",
                      "Clojure",
                      "COBOL",
                      "ColdFusion",
                      "Erlang",
                      "Fortran",
                      "Groovy",
                      "Haskell",
                      "Java",
                      "JavaScript",
                      "Lisp",
                      "Perl",
                      "PHP",
                      "Python",
                      "Ruby",
                      "Scala",
                      "Scheme"
                    ];
        $(document).ajaxComplete(function(){
            alert('');
            $("#txt").autocomplete({
                source: $scope.availableTags,
            });

        });
        //return $scope.availableTags;
    }
}

和jfiddle的链接如下:

小提琴

如您所见,虽然没有Angular,但自动完成功能不起作用。

有人可以帮忙吗?


问题答案:
<html lang="en">

  <head>
    <meta charset="utf-8" />
    <title>jQuery UI Autocomplete - Default functionality</title>
    <script data-require="angular.js@1.3.9" data-semver="1.3.9" src="https://code.angularjs.org/1.3.9/angular.js"></script>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css" />
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
    <script>
  var app=angular.module('app',[]);
  app.controller('ctrl',function($scope){
   $scope.availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];
    $scope.complete=function(){
      console.log($scope.availableTags);
    $( "#tags" ).autocomplete({
      source: $scope.availableTags
    });
    } 
  });
  </script>
  </head>

  <body ng-app="app" ng-controller="ctrl">
    <div class="ui-widget">
      <label for="tags">Tags: </label>
      <input id="tags" ng-keyup="complete()"/>
    </div>
  </body>

</html>

为您服务的傻瓜
http://plnkr.co/edit/5XmPfQ78vRjSrxE0Tt3B?p=preview
对不起,我不擅长摆弄。



 类似资料:
  • 问题内容: 是否有任何可以用来实现自动完成文本框的现成的Java Swing组件? 问题答案: 这是一个没有下拉选择的自动补全示例。仅当找到唯一匹配项时,它才会自动为您完成。补全会自动插入文本字段并选择。类似于Safari的地址字段的工作方式。 可以扩展该解决方案以提供选项列表,但是这并不是我的要求的一部分。 更新 我使用原始代码丢失了域。现在可以在github上访问它:https : //git

  • 主要内容:本节引言:,1.相关属性:,2.代码示例:,3.示例代码下载:,本节小结:本节引言: 本节继续来学习Adapter类的控件,这次带来的是AutoCompleteTextView(自动完成文本框), 相信细心的你发现了,和Adapter搭边的控件,都可以自己定义item的样式,是吧! 或者说每个Item的布局~想怎么玩就怎么玩~嗯,话不多说,开始本节内容~ 对了贴下官方API:AutoCompleteTextView 1.相关属性: android:completionH

  • 问题内容: 我正在寻找一种将自动完成功能添加到JavaFX的方法ComboBox。经过大量搜索之后,该在这里提问了。 这AutoFillBox是已知的,但不是我要搜索的内容。我想要的是一个可编辑的组合框,在键入列表时应进行过滤。但是我也想打开列表而不输入并查看整个项目。 任何想法? 问题答案: 我找到了一个对我有用的解决方案: 你可以用 基于此,我根据自己的需要对其进行了自定义。 随时使用它,如果

  • 我正在寻找一种将自动完成添加到JavaFX的方法。 这个是已知的,但不是我正在搜索的。我想要的是一个可编辑的组合框,在输入时,列表应该被过滤掉。但我也想打开列表,而不必输入和查看所有项目。 知道吗?

  • 问题内容: 我正在寻找一个Javascript自动完成实现,其中包括以下内容: 可以在HTML文本区域中使用 允许键入常规文本而无需调用自动完成功能 检测字符并在键入时开始自动完成 通过AJAX加载选项列表 我认为这与Twitter在推文中进行标记时的操作类似,但是我找不到很好的,可重用的实现。 jQuery的解决方案将是完美的。 谢谢。 问题答案: 我找不到任何完全符合我的要求的解决方案,因此得

  • 我正在使用有角度的材质创建一个形状。对于某些字段,用户应获得自动完成功能。如果用户提供序列号,这些字段也应该从后端填充。 我的问题是,如何设置通过代码链接到自动完成的文本框的文本? 我复制了一个StackBlitz并对其进行了修改以符合我的场景:https://stackblitz.com/edit/angular-material-autocomplete-async1-jxrahv?file=