2011-11-14 55 views
1

我正在爲我的用戶製作一個註冊表單,我希望他們在他們的城市寫作。在我的MVC3應用程序中使用jQuery自動完成

因此,當他們鍵入城市名稱時,jQuery UI component的自動完成選項將異步加載。

頁面上的示例顯示瞭如何使用.php文件,但這如何適合純HTTP解決方案?

如何獲取這些選項?

我有一個簡單的表使用實體框架和存儲庫模式訪問:

table City 
------------------ 
CityId int primary key, 
Name nvarchar(256) 

回答

7

的自動完成插件會發送一個GET請求給你一個?term=blah查詢字符串參數中指定的路徑。

你需要添加一個Action到你的控制器來處理這個請求,並返回一個匹配值的數組作爲json。

public ActionResult AutoCompleteCity(string term) { 
    var db = new myEFDataContext(); 
    return Json(db.Cities.Where(city => city.Name.StartsWith(term)).Select(city => city.Name), JsonRequestBehavior.AllowGet); 
} 

然後在你的JavaScript你掛鉤自動完成功能像這樣。

$('#cityTextBoxId').autocomplete({ source: '/Controller/AutoCompleteCity' }); 
相關問題