【发布时间】:2012-02-14 15:51:31
【问题描述】:
我正在实现自动完成搜索,目前我的 senario 工作如下:- 1.用户插入部分搜索条件。 2.选择预期的Json值。 3.点击ajax.Beginform搜索按钮。
但我想做的是:- 1.用户插入部分搜索条件。 2.选择预期的Json值。 3.然后系统自动进行搜索,无需点击搜索按钮(与google、yahoo等搜索引擎相同)。 这是我的代码:- 快速搜索操作方法:-
public ActionResult QuickSearch(string term)
{
var users = entities1.Users
.Where(e => e.UserID.Contains(term))
.Select(r => new {value = r.UserID });
return Json(users, JsonRequestBehavior.AllowGet);
}
在视图上我有以下代码:-
@using (Ajax.BeginForm("Search", "User", new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults",
LoadingElementId = "progress"
}))
{
<input type="text" name="q" data-autocomplete-source="@Url.Action("QuickSearch", "User")" />
<input type="hidden" name="classid" value="@ViewBag.classid"/>
<input type="submit" value="Search" />
}
自动完成脚本:-
$(document).ready(function () {
$("input[data-autocomplete-source]").each(function () {
var target = $(this);
target.autocomplete({ source: target.attr("data-autocomplete-source") });
});
});
【问题讨论】:
标签: jquery asp.net-mvc-3 autocomplete