javascript - AngularJs ng-model 不适用于 jQuery 自动完成

标签 javascript jquery angularjs

JSFiddle:https://jsfiddle.net/ealonwang/7y25ru40/

我正在实现 typeahead功能。看来 ng-model 不能与 autocomplete 一起使用。

这是我的代码。

HTML:

<input type="text" id="origin" ng-model="searchForm.origin" placeholder="City, State">

AngularJS:

var origin = ["DALLAS, TX", "DALLAS, NE"];

$("#origin").autocomplete({
     source: origin,
     autoFocus: true,
     delay: 0,
     minLength: 3
 });

当我在输入中输入 DAL 并从下拉列表中选择 DALLAS, TX 时,我实际上得到了 DAL for ng -模型。有人有解决办法吗?提前致谢。

enter image description here

最佳答案

我必须为此创建一个指令。

app.directive("autoComplete", function ($timeout) {
        return {
            restrict: "A",
            link: function (scope, element) {
                var location = ["OMAHA, NE", "OMAHA, TX", "DALLAS, TX", "DALLAS, NE"];

                element.autocomplete({
                    source: location,
                    autoFocus: true,
                    delay: 0,
                    minLength: 3,
                    select: function () {
                        $timeout(function () {
                            element.trigger("input");
                        }, 0);
                    }
                });
            }
        }
    });

关于javascript - AngularJs ng-model 不适用于 jQuery 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35467730/

相关文章:

javascript - 中继操作名称是什么?

javascript - 检查对象数组中的值是否不同的最快方法

javascript - 如何在打印的 HTML 的每一页顶部放置一个空格

javascript - 通过 jQuery 无限循环图像

javascript - 如何从 Controller 发送多个 JSON 结果以查看?

php - 从用户输入的选定日期在 MySQL 中始终存储为 "1970"

javascript - 按多个字段和条件对数据进行排序

php - 单击 div 并转到另一个 div 包含的页面

jQuery 模板 - 替换 DIV 内容

routing - AngularJS + Base Href 区分大小写?