首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery autocomplete + AngularJS的问题

jQuery autocomplete + AngularJS的问题
EN

Stack Overflow用户
提问于 2012-10-19 00:39:15
回答 3查看 30.5K关注 0票数 20

我在我的页面上使用AjgularJS,并希望添加一个字段来使用jqueryui中的自动完成功能,但自动完成功能不会触发ajax调用。

我已经在没有angular (ng-app和ng-controller)的页面上测试了这个脚本,它工作得很好,但是当我把脚本放在一个有angularjs的页面上时,它就停止工作了。

有什么想法吗?

jquery脚本:

代码语言:javascript
复制
$(function () {

    $('#txtProduct').autocomplete({
        source: function (request, response) {

            alert(request.term);

        },
        minLength: 3,
        select: function (event, ui) {

        }
    });

});

  • 有趣的注意:当我调用Chrome检查器上的脚本时,自动完成会启动working!!!
  • Versions: AngularJS: 1.0.2 - JqueryUI: 1.9.0

结论:来自jQueryUI的autocomplete小部件必须从AngularJS的自定义指令内部进行初始化,如下所示:

标记

代码语言:javascript
复制
<div ng-app="TestApp">
    <h2>index</h2>
    <div ng-controller="TestCtrl">

        <input type="text" auto-complete>ddd</input>

    </div>
</div>

Angular script

代码语言:javascript
复制
<script type="text/javascript">

    var app = angular.module('TestApp', []);

    function TestCtrl($scope) { }

    app.directive('autoComplete', function () {
        return function postLink(scope, iElement, iAttrs) {

            $(function () {
                $(iElement).autocomplete({
                    source: function (req, resp) {
                        alert(req.term);
                    }
                });
            });

        }
    });

</script>
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12959516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档