2016-12-20 1 views
0

jquery 자동 완성 메서드에 문제가 있습니다. 항상이 오류를 얻을 : _Layout.cshtml : 헤드 섹션 : 내 코드 아래, 잘못하고있어 무엇ASP.NET MVC JQuery UI 자동 완성

"Uncaught TypeError: $(...).autocomplete is not a function".

본문 섹션의 끝에서
@Styles.Render("~/Content/css") 
@Styles.Render("~/Content/themes/base/css") 
@Scripts.Render("~/bundles/modernizr") 
@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jqueryui") 
@Scripts.Render("~/bundles/jqueryval") 
<link href="~/Content/bootstrap.min.css" rel="stylesheet" /> 
<link href="~/Content/bootstrap-social.css" rel="stylesheet" /> 
<link href="~/Content/font-awesome.min.css" rel="stylesheet" /> 
<link href="~/Content/bootstrap-formhelpers.min.css" rel="stylesheet" /> 
<link href="~/Content/custom.css" rel="stylesheet" /> 

:

<script src="~/Scripts/custom.min.js"></script> 
<script src="~/Scripts/jquery-3.1.1.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> 
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> 
@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/bootstrap") 
@RenderSection("scripts", required: false) 

및 스크립트 :

<script type="text/javascript" language="javascript"> 

$(document).ready(function() { 
    $('#somevalue').autocomplete({ 
     source: '@Url.Action("Index","Search")' 
    }); 
}) 

답변

0

생성하는 중복 스크립트. 레이아웃에 포함 된 스크립트 중 많은 부분이 본문 끝 부분에서 반복되며 특히 최종본 @Scripts.Render("~/bundles/jquery")은 세 번째로 jquery-{version}.js을 포함하고 마지막으로 포함하여 이전 스크립트를 모두 지 웁니다 jquery (예 : jquery-ui 포함)에 의존합니다.

올바른 순서로 스크립트를 하나만 포함하십시오. 그리고 일관성을 유지하고 규칙을 따를 것을 권장합니다. 예를 들어 </body> 태그 (앞에있는 modernizr 제외) 앞에 모든 스크립트를 놓고 모든 스크립트에 번들을 사용합니다.