2015-07-05 46 views
0
  • 教程我下面

嗨,我使用本教程 ASP.NET教程部分實現自動完成的jQuery 76實現自動完成文本框的功能MVC https://www.youtube.com/watch?v=MmBdMZJ3JlojQuery的自動完成不工作的ASP.NET MVC 5

  • 問題

當我輸入的輸入框的東西,自動完成不工作

  • 說明

我已經實現了搜索功能及其工作正常,但我堅持上自動完成jquery的功能。我搜索了很多谷歌和堆棧溢出以前的問題,我嘗試了一切,但無法解決我的問題。

  • 代碼

這裏是我的自動完成的代碼(我沒有將搜索的代碼)

Index.cshtml

<link href="~/Content/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<link href="~/Content/jquery-ui.min.css" rel="stylesheet" type="text/css" /> 

<script src="~/Scripts/jquery-2.1.4.js" type="text/javascript"></script> 
<script src="~/Scripts/jquery-ui.js" type="text/javascript"></script> 
<script src="~/Scripts/jquery-ui.min.js" type="text/javascript"></script> 

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

</script> 

@using(@Html.BeginForm()) 
{ 
     <br /> 
     <b>AirPort Code:</b> 
     @Html.TextBox("SearchTerm", null, new { id="txtSearch"}) 
     <input type="submit" value="Search" />  
} 

和我的控制器代碼

HomeController.cs

public JsonResult GetAirports(string term) 
{ 
      traveloticketEntities db = new traveloticketEntities(); 
      List<String> Airports = new List<String>(); 
      Airports = db.IataAirportCodes.Where(x => x.code.StartsWith(term)).Select(y=>y.code).ToList(); 
      return Json(Airports, JsonRequestBehavior.AllowGet); 

} 
+0

你檢查錯誤,客戶端控制檯? – mason

+0

@mason抱歉,但我不知道什麼是客戶端控制檯。但我試圖手動調試它,我認爲當我在文本框中鍵入內容時,自動完成功能未被調用。 – Junaid

+1

使用瀏覽器的開發者工具(通常是鍵盤上的F12)。查找控制檯或JavaScript選項卡。在那裏尋找任何錯誤。 – mason

回答

3

我得到了解決。非常感謝你的幫助。我在客戶端控制檯(使用F12的谷歌瀏覽器控制檯)上檢查了我的代碼,在那裏我發現_Layout.cshtml在我的index.cshtml文件的末尾添加了其他jQuery庫,這些文件覆蓋了我在index.cshtml中的庫。所以,我從_Layout.css

@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jqueryval") 

刪除此代碼,並把我的jQuery庫在Index.cshtml依照以下的順序

<script src="~/Scripts/external/jquery/jquery.js" type="text/javascript"></script> 
<script src="~/Scripts/jquery-ui-1.11.4.js" type="text/javascript"></script> 
<script src="~/Scripts/myScript.js" type="text/javascript"></script> 
1

我不知道你正在使用的Visual Studio的版本。在2013年,我沒有任何jquery自動完成問題。但是,在2015年,他們沒有包含jQuery UI腳本。我必須通過nuget添加它,然後在它工作之前將它添加到bundleConfig.cs中。

我的腳本部分包括以下內容: @ Scripts.Render( 「〜/捆綁/ jquery的」) @ Scripts.Render( 「〜/捆綁/ jqueryval」) @ Scripts.Render(「〜/捆綁/ jqueryui「)

爲什麼Microsoft沒有在Visual Studio 2015中包含jquery ui?我很想知道這個答案。