Asp.net MVC 3+ Jquery UI Autocomplete实现百度效果
2011-10-21 17:34
701 查看
常见的示例很多,本文只是我的工作记录。
前台页面:
@{
ViewBag.Title = "首页";
}
@section Header
{
<script type="text/javascript">
$(document).ready(function () {
$("#keyword").autocomplete({
source:function (request, response) {
$.ajax({
url: "@Url.Action("Search", "Home")", //要查询的Action
type: "POST", //Post提交
dataType: "json", //json格式数据,默认是text
data: { keyword:request.term}, //参数,不知道为什么?请指点
//data: {keyword:$("#keyword").val()},同样可以
success: function (data) {
response($.map(data, function (item) {
return { label: item.text, value: item.value}; //将返回的jsonresult的属性赋值给autocomplete item
}));
}
});
},
focus: function(event, ui) {
$('#keyword').val(ui.item.label); //选中item的文本
return false;
},
select: function(event, ui) {
$('#keyword').val(ui.item.label); //选中item的文本
$('#txtSelectValue').val(ui.item.value); //选中item的值
return false;
}
});
});
</script>
}
关键字:
@Html.TextBox("keyword", "")
@Html.Hidden("txtSelectValue") //智能查询选中的值
Action代码:
// GET: /Home/Index
// POST: /Home/Search
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Search(string keyword)
{
//根据关键字查询,返回json格式对象集合
第一种方式:循环
List<object> items=new List<objects>();
var item=new {text="",value=""}
items.Add(item);
第二种方法:直接用linq to Entity添加
var dataList= organService.AddDataList();//获取数据列表
items.AddRange(dataList.Select(o => new
{
text= o.NAME,
value= o.CODE.ToString()
}));
//---------------------------------------
return Json(items, JsonRequestBehavior.AllowGet);
}
前台页面:
@{
ViewBag.Title = "首页";
}
@section Header
{
<script type="text/javascript">
$(document).ready(function () {
$("#keyword").autocomplete({
source:function (request, response) {
$.ajax({
url: "@Url.Action("Search", "Home")", //要查询的Action
type: "POST", //Post提交
dataType: "json", //json格式数据,默认是text
data: { keyword:request.term}, //参数,不知道为什么?请指点
//data: {keyword:$("#keyword").val()},同样可以
success: function (data) {
response($.map(data, function (item) {
return { label: item.text, value: item.value}; //将返回的jsonresult的属性赋值给autocomplete item
}));
}
});
},
focus: function(event, ui) {
$('#keyword').val(ui.item.label); //选中item的文本
return false;
},
select: function(event, ui) {
$('#keyword').val(ui.item.label); //选中item的文本
$('#txtSelectValue').val(ui.item.value); //选中item的值
return false;
}
});
});
</script>
}
关键字:
@Html.TextBox("keyword", "")
@Html.Hidden("txtSelectValue") //智能查询选中的值
Action代码:
// GET: /Home/Index
// POST: /Home/Search
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Search(string keyword)
{
//根据关键字查询,返回json格式对象集合
第一种方式:循环
List<object> items=new List<objects>();
var item=new {text="",value=""}
items.Add(item);
第二种方法:直接用linq to Entity添加
var dataList= organService.AddDataList();//获取数据列表
items.AddRange(dataList.Select(o => new
{
text= o.NAME,
value= o.CODE.ToString()
}));
//---------------------------------------
return Json(items, JsonRequestBehavior.AllowGet);
}
相关文章推荐
- TextBox AutoComplete with ASP.NET and jQuery UI
- 实现输入内容提示的功能(仿google_百度输入框提示)jquery.ui.autocomplete.js插件
- jQuery UI Autocomplete Combobox 配 ASP.NET DropDownList
- 实现输入内容提示的功能(仿google_百度输入框提示)jquery.ui.autocomplete.js插件
- 关于jQuery在Asp.Net Mvc 框架下Ajax文件上传的实现
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动
- 用jQuery实现ASP.NET GridView折叠伸展效果
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动
- 利用autocomplete.js实现仿百度搜索效果(ajax动态获取后端[C#]数据)
- jQuery Autocomplete using Web Service in ASP.Net
- 在ASP.NET MVC中使用Jquery实现页面局部刷新
- ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
- 使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(上)
- [新手上路] 使用ASP.NET MVC 4 Async Action + jQuery 实现消息通知机制
- asp.net mvc jquery+js+ajax 实现联动
- Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
- ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
- 使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(下)
- jQuery + ASP.NET MVC Ajax的简单实现
- [Asp.net]Calendar+JqueryUi实现日程管理——添加日程