2013-04-05 131 views
0

在我看來,我有自動完成使用JSON

@Html.TextBoxFor(per => per.Hospital, new { 
    style = "width:220px", @maxlength = "50", 
    data_autocomplete = Url.Action("HospitalList", "Person") }) 

我jQuery是

$(document).ready(function() {   
    $('input[data-autocomplete]').each(function() { 
     var url = $(this).data('autocomplete'); 
     $(this).autocomplete({ 
      source: function (request, response) { 
       $.getJSON(url, { 
        term: request.term 
       }, response); 
      } 
     }); 
    }); 
}); 

我創建了一個新的行動結果

public ActionResult HospitalList(string term) 
{ 
    List<string> result = new List<string>(); 
    result.Add("Hospital 1"); 
    result.Add("NYUMC"); 
    result.Add("Christ"); 
    result.Add("Bellevue"); 
    result.Add("NewYork-Presbyterian"); 
    result.Add("North Central Bronx Hospital"); 

    result = result.Where(r => r.Contains(term)).ToList();   

    return Json(result , JsonRequestBehavior.AllowGet); 
} 

我包括了jQuery庫

<script src='<%: Url.Content("~/Scripts/jQueryUI/jquery-1.4.2.min.js") %>' type="text/javascript"></script> 
<script src='<%: Url.Content("~/Scripts/jQueryUI/jquery-ui-1.8.2.custom.min.js") %>' type="text/javascript"></script> 

現在我在哪裏出錯了。我只看到一個文本框,沒有自動完成的行爲。

+0

任何JS控制檯錯誤? jquery和jquery-ui的加載(jquery文件上的路徑「〜/ Scripts/jQueryUI/jquery-1.4.2.min.js」'吸引了我的眼球,但這並不意味着它是錯誤的。) – 2013-04-05 20:07:17

+0

沒有錯誤。例如,如果我輸入「h」。什麼都沒發生。我在ActionResult HospitalList(字符串術語)方法中添加了一個斷點。執行查詢,jason返回2個結果,但是我在我的用戶界面中看到的所有內容都是h在我的文本框中沒有關於2結果的建議 – DotNetBeginner 2013-04-05 20:11:15

+0

其中是css for ui?我認爲你錯過了jquery-ui的樣式表 – 2013-04-05 20:42:28

回答