jquery - (...).autocomplete 不是一个函数

Posted

技术标签:

【中文标题】jquery - (...).autocomplete 不是一个函数【英文标题】:jquery - (...).autocomplete is not a function 【发布时间】:2017-11-28 02:11:12 【问题描述】:

我目前正在开发一个网络应用程序。 在那里,我创建了一个文本框(与 jquery 自动完成一起使用),当用户单击按钮时会显示该文本框。 然后我想从我的数据库中加载自动完成所需的源。但我目前正在用一些随机值对其进行测试。 当我这样称呼时:

            $("#docNameTB").autocomplete(
            source: ["Apple", "Banana"]
        );

控制台显示:“Uncaught TypeError: $(...).autocomplete is not a function”

这是我的脚本来源:

    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

这是我的事件代码:

        function nextClicked() 
          $("#docNameTB").autocomplete(
              source: ["Apple", "Banana"]
          );
        

这是我的文本框:

               @html.TextBox("docNameTB", "", new  @class = "form-control", @placeholder="Enter name here" )

这是我的按钮按下代码:

            <a class="btn btn-default" id="nextButton" onclick="nextClicked()">Next &raquo;</a>

this 问题的解决方案对我不起作用。 我也只使用 google places 脚本源,这不是问题(我已经测试过了):

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_KEY&libraries=places"></script>

为我糟糕的英语和我的格式感到抱歉,这是我的第一个问题。 :) 我希望有人能帮助我! 感谢您的回复!

【问题讨论】:

确保您没有在页面中再次加载 jQuery.js,这会清除 jQuery-UI 中包含的所有插件方法 .autocomplete is not a function Error的可能重复 【参考方案1】:

我在互联网上又搜索了 3 个小时,我阅读、阅读和阅读。 现在我创建了自己的解决方案,它对我有用。诀窍是我必须在页面加载和按钮单击时运行 autocomplete()。

这是页面加载代码:

    var docNameTB = $("#docNameTB");
    docNameTB.autocomplete(
        source: ["Banana", "Apple"]
    );

这是按钮点击事件代码:

        function nextClicked() 
          docNameTB.autocomplete(
              source: ["Peach", "Ananas"]
          );
          // Other Code
        

也许这对某人也有帮助:)

【讨论】:

【参考方案2】:

试试这个 HTML 部分

<input type="text" class="form-control" onkeydown="nameSearch()" id="searchBox" placeholder="Search">

JS 部分

function nameSearch()

$("#searchBox").autocomplete(
                source : ["Apple", "Banana"],
            );

【讨论】:

感谢您的回复,但我仍然收到错误消息:“Uncaught TypeError: $(...).autocomplete is not a function at nameSearch (SearchProfile:76) at HTMLInputElement.onkeydown (SearchProfile:70 )" 【参考方案3】:

使用这个序列

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script src="yourJSFile"></script>

【讨论】:

感谢您的回答,但我还有一个问题:您能解释一下我必须在“yourJSFile”中填写什么吗? - 我的 JavaScript 代码不在外部文件中(也许有帮助) - 我是 JavaScript 和 JQuery 编码的新手 如果你已经分离了js文件然后链接到这里,如果没有则删除该行 我删除了这一行,所以我只有这些来源: 【参考方案4】:

在头部使用 Jquery 和 Jquery UI CDn 或链接

<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>

【讨论】:

以上是关于jquery - (...).autocomplete 不是一个函数的主要内容,如果未能解决你的问题,请参考以下文章

input属性autocomplate背景颜色

jQuery自动完成和lucene的问题

jQuery自动完成不从文本加载源

Jquery UI自动完成匹配首字母输入

如何在自动完成jQuery中制作粗体匹配文本

如何使用 jQuery 处理 2 次不同的 div 点击并从属性数据中获取值?