未捕获的类型错误 - 自动完成不是 ASP.Net 中的功能 [重复]

Posted

技术标签:

【中文标题】未捕获的类型错误 - 自动完成不是 ASP.Net 中的功能 [重复]【英文标题】:Uncaught Type Error - Autocomplete is not a function in ASP.Net [duplicate] 【发布时间】:2017-05-20 15:41:51 【问题描述】:

我看到很多这样的问题被问到,而且几乎总是涉及到有一个额外的 jQuery 库或者没有引用正确的库。不过,我看不出这与我的关系在哪里。我得到的错误是:

我知道脚本正在运行,就好像我执行alert("Hello World") 一样。通用处理程序也在工作,因为它从数据库中收集所有部分。

当我执行 hello world 调用时,虽然它在应用程序首次加载时出现,而不是在我开始在文本框中输入时出现?我确信这与它有关。也许它在加载之前调用了该函数,但我不知道为什么?

有人能看出这里出了什么问题吗?

【问题讨论】:

您在构建自定义jquery-ui-1.10.4.custom.js 时是否结合了autocomplete 这是来自 JQueryUI 下载。 jqueryui.com/download/… 尝试过其他人,他们也没有工作。 您能否在浏览器中查看“查看源代码”中的元素 id 是否呈现为 txtPartNames,因为如果您没有使用客户端 id 模式作为静态,asp.net 会更改 id 在尝试了Aruna的建议后,您可以尝试使用官方的> code.jquery.com/jquery-3.1.1.min.js @Aruna - 是否存在带有id="txtPartNames" 的 DOM 元素与错误无关 【参考方案1】:

这是它工作的一个功能示例(基本原理):

$(document).ready(function() 
  $( function() 
    $( "#tags" ).autocomplete(
      source: [ "ActionScript", "AppleScript", "Asp" ]
    );
   );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>

<input id="tags">

您可能还希望查看此解决方案:AutoComplete jQuery Using JSON data

【讨论】:

仍然出现错误。 然后,正如@Aruna 建议的那样,您的页面中有第二个 jquery.js 你试过我的建议了吗? - 替换路径的../ 部分。查看term=?方法的链接解决方案,以此类推。另外,您是否将&lt;script&gt; 的内容替换为上面示例中包含的来自cdn 的内容。如果您运行该示例,它就可以正常工作。正如 Igro 和 Aruna 所指出的那样,也可能是由于脚本重复,但它会在 html 源代码中进一步下降。 我已经尝试了所有的解决方案。替换了../,当term=?时我有一个空白字符串?什么都不返回,我已经替换了脚本内容。需要找出第二个 jQuery 脚本在哪里,但我不知道该怎么做。 @Danrex - 您可以对其进行编辑并将其添加到解决方案中,但是原始问题不包含任何有关验证的内容,因此对于其他观众来说,这就像凭空拉出一些东西。我建议更新问题以包含有问题的代码。很高兴这可以帮助您解决问题:)

以上是关于未捕获的类型错误 - 自动完成不是 ASP.Net 中的功能 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

数据表未捕获类型错误:无法读取未定义的属性“添加”(asp.net / js)

ASP.NET MVC5 KnockoutJS 映射“未捕获的类型错误:无法读取未定义的属性 'fromJS'”错误

Asp .net 中的错误:未捕获的 ReferenceError:HTMLButtonElement

JqueryUI 自动完成错误:未捕获的 TypeError:对象#<Object> 的属性“结果”不是函数

未捕获的类型错误:无法读取 JQuery DataTable 未定义的属性“mData”

Asp.net MVC5 angular4未捕获引用错误:部署到IIS后系统未在systemjs.config.js中定义