未捕获的 TypeError: $(...).autocomplete 不是 JQuery-UI 中的函数

Posted

技术标签:

【中文标题】未捕获的 TypeError: $(...).autocomplete 不是 JQuery-UI 中的函数【英文标题】:Uncaught TypeError: $(...).autocomplete is not a function in JQuery-UI 【发布时间】:2018-06-12 19:59:52 【问题描述】:

即使我确实将其 ui-library 存储在本地磁盘并将其导入到脚本标签中,但在我的项目中无法识别功能自动完成。

HTML 代码

  <link href="~/Content/Site.css" rel="stylesheet" type="text/css" />
  <link href="~/Content/bootstrap.min.css" rel="stylesheet" type="text/css" />
  <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet" />
  <link href="~/Content/Chosen/chosen.min.css" rel="stylesheet" />
  <link href="~/Scripts/jquery-ui-1.10.2.css" rel="stylesheet" />

  <script src="~/Scripts/modernizr-2.6.2.js"></script>
  <script src="~/Scripts/jquery-ui-1.10.2.js"></script>
  <script src="~/Scripts/chosen.jquery.min.js"></script>
  <script src="~/Scripts/jquery-1.10.2.js"></script>
  <script src="~/Scripts/bootstrap.min.js"></script>

jquery 代码

$(document).ready(function() 
    $(document).bind('keypress', function(e) 
        if (e.keyCode == 13) 
            $('#defaultActionButton').trigger('click');
        
    );

    $('#SearchString').keyup(function() 
        var value = $(this).val().toLowerCase();

        filter('#myTable tr', value);
    );

    function filter(idObject, srchText) 
        $(idObject).filter(function() 
            $(this).toggle($(this).text().toLowerCase().indexOf(srchText) > -1)
        );
    

    $('#SearchString').autocomplete(
        source: '@Url.Action("SearchAutocomplete", "Student")'
    );
);

完全错误

Uncaught ReferenceError: jQuery is not defined
    at jquery-ui-1.10.2.js:314
(anonymous) @ jquery-ui-1.10.2.js:314
chosen.jquery.min.js:2 Uncaught ReferenceError: jQuery is not defined
    at chosen.jquery.min.js:2
    at chosen.jquery.min.js:2
(anonymous) @ chosen.jquery.min.js:2
(anonymous) @ chosen.jquery.min.js:2
(index):144 Uncaught TypeError: $(...).autocomplete is not a function
    at htmlDocument.<anonymous> ((index):144)
    at fire (jquery-1.10.2.js:3062)
    at Object.fireWith [as resolveWith] (jquery-1.10.2.js:3174)
    at Function.ready (jquery-1.10.2.js:447)
    at HTMLDocument.completed (jquery-1.10.2.js:118)

我真的不知道根本原因是什么。如果您有解决方案,请提供帮助。

【问题讨论】:

TypeError: $(...).autocomplete is not a function的可能重复 我也在链接中读到了这个错误,但它的解决方案对我不起作用 尝试将您的 jquery 库放在顶部。即高于所有其他 jquery 引用 jquery-1.10.2.js 放在jquery-ui-1.10.2.js 之前。 【参考方案1】:

将 jquery.js 文件放在 jquery-ui.js 文件之前。 顺序很重要。

【讨论】:

多么纯粹的答案!

以上是关于未捕获的 TypeError: $(...).autocomplete 不是 JQuery-UI 中的函数的主要内容,如果未能解决你的问题,请参考以下文章

VueJS:未捕获(承诺中)TypeError:无法读取未定义的属性“推送”

未捕获的TypeError:(中间值).map不是函数[重复]

如何使用自定义错误消息捕获“TypeError:无法读取未定义的属性(读取'0')”?

未捕获(承诺)TypeError:无法读取未定义的属性“长度”

JQuery UI'可拖动不是函数'未捕获的TypeError

未捕获的 Promise 错误:TypeError:成员不是函数