$(...)。autocomplete不是函数错误

时间:2017-06-23 10:07:00

标签: javascript jquery asp.net-mvc razor

我有以下文件

<link href="~/Content/Site.css" rel="stylesheet" />
<link href="~/Content/boostrap-min.css" rel="stylesheet" />
<link href="~/Content/themes/base/jquery-ui.min.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.12.4.min.js"></script>
<script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

然后我有javascript功能

<script type="text/javascript">
   $(document).ready(function () {
        $(function () {
            $("#txtSearch").autocomplete({
                source: '@Url.Action("MerrBarkodet","Produktet")'
            });
        });
    });
</script>

但是不起作用,显示错误 未捕获的TypeError:$(...)。autocomplete不是函数

@using (Html.BeginForm("Index", "Produktet", FormMethod.Get, new { @class = "navbar-form navbar-left" }))
    {
    <div class="form-group">
        <b>Search:</b>@Html.TextBox("search", null, new { id = "txtSearch" })
        <input class="btn btn-default" type="submit" value="Search" />
    </div>
    }

2 个答案:

答案 0 :(得分:2)

注释掉(或删除)我在下面评论过的代码。 $(function() { })不会在$(document).ready()来电中初始化。

 //$(document).ready(function () {
        $(function () {
            $("#txtSearch").autocomplete({
                source: '@Url.Action("MerrBarkodet","Produktet")'
            });
        });
 //   });

答案 1 :(得分:0)

问题的可能原因。

  1. 加载jquery.js的顺序。 jquery.js必须在jqueryui.js
  2. 之前出现
  3. jquery.js引用的可能重复。确保文件中没有jquery引用。如果要实现布局文件或外部库,请确保没有调用jquery。
  4. 尝试使用jQuery.noConflict()方法进行测试。它基本上只是让你为jQuery使用不同的别名。 例如:

    var j = jQuery.noConflict();
    j("div p").hide();
    
  5. 在加载文档之前检查您的功能调用是否未被点击:

    $(function(){
       var $searchBox = $('#txtSearch');
       $searchBox.autocomplete(...);
    });